这是我的controller.php
:
$courserecord = $this->front->get_data_wheree('tbl_course_offered.course_id',array('isactive'=>'1'));
这是我的Model.php
:
function get_data_wheree($table,$where)
{
return $this->db->group_by($table,$where)->result();
}
在我的model.php
中,我想在查询中使用DISTINCT或GROUP_BY。
group_by
工作不正常。
答案 0 :(得分:0)
您的模型无法正常工作,因为result()
方法是类CI_DB_result
的成员,但是group_by()
返回了CI_DB_query_builder
的实例。换句话说,您正在尝试为所使用的类调用一个不存在的方法。
方法get()
和get_where()
是仅有的两个返回CI_DB_result
对象的查询生成器方法。简而言之,您必须先调用get()
或get_where()
,然后才能使用result()
或任何类似方法。
另一个问题是group_by()
不接受您提供的类型的第二个参数。您正在提供一个数组,但是需要一个布尔值。您需要添加另一种方法来定义where条件。
您的模型的方法应如下所示。 我更改了第一个参数的名称,以更好地描述其目的。
function get_data_where($groupby, $where)
{
return $this->db
->group_by($groupby)
->where($where)
->get('tbl_course_offered')
->result();
}