CodeIgniter模型无法返回特定记录

时间:2015-12-02 17:23:17

标签: php mysql codeigniter model rows

我正在使用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(),但它只返回一行,因此它不适合我的情况。

1 个答案:

答案 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();
}