Codeigniter 未定义索引 userID 作为模型的结果

Codeigniter Undefined index userID as result from model

提问人:mXX 提问时间:7/23/2013 最后编辑:CommunitymXX 更新时间:5/17/2014 访问量:2969

问:

在我的 I 加载我的模型,然后执行函数。基本上,该函数只是在我的数据库中执行一个操作,然后返回 现在回到我的控制器,我想检查返回到我的控制器的用户的 ID 到我的会话中存储的 ID。我是这样做的controllergetAllUserInfo()SELECTresult()result()

$this->load->model('profile_model');
if($query = $this->profile_model->getAllUserInfo()){
    if($query['userID'] == $this->session->userdata('id')){
        //do something
    }

但是我收到这个错误

消息:未定义的索引:userID

我也在以下主题的stackoverflow上检查了这一点,但它们并没有真正帮助我

Codeigniter Undefined Index 网上商店

未定义的索引 ...现有索引?

php codeigniter undefined-index

评论


答:

0赞 M Khalid Junaid 7/23/2013 #1

如果你正在使用,那么它返回对象而不是数组result()

如果返回了一行,那么你可以这样做

if($query = $this->profile_model->getAllUserInfo()){
    if($query[0]->userID == $this->session->userdata('id')){
        //do something
    }
   }

否则,您必须遍历 以检查返回的结果集中的用户 ID$query

if($query = $this->profile_model->getAllUserInfo()){
 foreach($query as $q){
    if($q->userID == $this->session->userdata('id')){
        //do something
    }
    }// end foreach
    }

这里是 CI AR 选择参考

评论

0赞 mXX 7/23/2013
是的,这成功了。你说它不返回数组,但你仍然像数组一样查找它$query[0]->userID
0赞 M Khalid Junaid 7/23/2013
但是它里面有对象,而不是整个数组,就像这是整个数组,但它是带有索引的对象$query[0]['query']$query[0]->userID