我正在使用CodeIgniter,并且在使用where()
方法从表中获取所有行时,我无法使用results()
选择方法。
这是我的模特:
public function get_all_entries($id)
{
// Select row to be fetched
$this->db->where('id', $id);
$this->db->get('users');
// Execute the find query with provided data
$query = $this->db->get('users');
// Return an object with all the data
return $query->result();
}
它应该返回与$id
表中的users
参数匹配的所有行,而是简单地获取表中的所有记录,包括那些没有记录的行。匹配提供的$id
参数。
我在这里做错了什么?我已经尝试了row()
方法,虽然它适用于where()
,但它只返回一行,因此它不适合我的情况。
答案 0 :(得分:1)
问题是你正在调用get()方法两次,第一次调用where,但是没有分配给变量;第二个被分配给一个变量,但由于where子句已被另一个子句使用,因此它获得了所有内容。删除第一个get,你应该没事。
public function get_all_entries($id)
{
// Select row to be fetched
$this->db->where('id', $id);
// Execute the find query with provided data
$query = $this->db->get('users');
// Return an object with all the data
return $query->result();
}