2017-07-26 61 views
1

我想从数据库中获得一个result_array(),其中两列必须返回true,反之亦然,所以我决定使用or_where但我的代码返回Call to undefined method CI_DB_mysqli_result::or_where()错误,任何建议如何能实现这一目标?Codeigniter如何使用get_where/or_where一起返回result_array

我在CI_Model里面使用了下面的代码。

public function check_request($userid, $senderid){ 
    $query = $this->db->get_where('connection',array('user_id' => $userid, 'sender_id' => $senderid)); 
    $query = $this->db->or_where('connection',array('sender_id' => $userid, 'user_id' => $senderid)); 
    return $query->result_array(); 
} 
+0

plz更新问题和显示你在哪里使用这个功能 –

回答

1

尝试以下:

public function check_request($userid, $senderid){ 
    $this->db->select('*'); 
    $this->db->where("(user_id = '$userid' AND sender_id = '$senderid') 
       OR (sender_id='$userid' AND user_id = '$senderid')"); 
    $query = $this->db->get('connection'); 
    return $query->result_array(); 
} 
+0

你检查了吗? @KaoriYui – lalithkumar

+0

是的,仍然存在错误。 – KaoriYui

+0

我已经更新了答案,现在检查 – lalithkumar

1

,您可以尝试这样的。在一天之前,我得到了同样的问题。我曾尝试过这样。

$query = $this->db->select('*') 
      ->where("(user_id = '$userid' AND sender_id = '$senderid') OR (user_id = '$senderid' AND sender_id = '$userid')") 
     ->get('connection'); 

return $query->result_array(); 
+0

你可以检查编辑答案。我做了改变。 – Shefali

+0

现在我的错误是'错误号码:1054'在'where子句'中的未知列'b7vlg0tnd174819'我的列是user_id和sender_id。 – KaoriYui

+0

@shefali可能是你错过了“from”条款 – denny