モデルがオブジェクトを返すというこの問題がありますが、コントローラーでそのフィールドが見つからないように見える場合、常にこのエラー「オブジェクト以外のプロパティを取得しようとしています」が発生しますが、結果を var_dump() しようとすると私のモデルからの戻り値があります。なぜアクセスできないのか理解できないようです。アクティブなレコードに接続されていますか?
以下は私のモデルです。
public function retrieve($user_id = FALSE)
{
if($user_id === FALSE)
{
$query = $this->db->get('login');
return $query->row();
}
else
{
$query = $this->db->get_where('login',array('account_id'=>$user_id));
return $query->result();
}
}
これが私のコントローラーのコードスニペットで、モデルにアクセスしようとした部分です
$this->load->model('account');
$acc = $this->account->retrieve($sess_userid);
var_dump($this->account->retrieve($sess_userid));
echo $acc->user_id;
$sess_userid には値があることに注意してください。それは数字です
誰でもこの問題のアイデアを思いつきましたか?
更新しました
print_r()
Array (
[0] => stdClass Object (
[account_id] => 2000005
[userid] => admin
[user_pass] => d033e22ae348aeb5660fc2140aec35850c4da997
[sex] => M
[email] => admin@ignitero.com
[group_id] => 99
[admin] => 1
[restrictions] => 0
[state] => 0
[unban_time] => 0
[expiration_time] => 0
[logincount] => 0
[lastlogin] => 0000-00-00 00:00:00
[last_ip] =>
[birthdate] => 0000-00-00
[character_slots] => 0
[pincode] =>
[pincode_change] => 0
)
)
var_dump()
array(1) {
[0]=> object(stdClass)#23 (18) {
["account_id"]=> string(7) "2000005"
["userid"]=> string(5) "admin"
["user_pass"]=> string(40) "d033e22ae348aeb5660fc2140aec35850c4da997"
["sex"]=> string(1) "M"
["email"]=> string(18) "admin@ignitero.com"
["group_id"]=> string(2) "99"
["admin"]=> string(1) "1"
["restrictions"]=> string(1) "0"
["state"]=> string(1) "0"
["unban_time"]=> string(1) "0"
["expiration_time"]=> string(1) "0"
["logincount"]=> string(1) "0"
["lastlogin"]=> string(19) "0000-00-00 00:00:00"
["last_ip"]=> string(0) ""
["birthdate"]=> string(10) "0000-00-00"
["character_slots"]=> string(1) "0"
["pincode"]=> string(0) ""
["pincode_change"]=> string(1) "0"
}
}