не может использовать DISTINCT или группировать по ключевому слову в codeigniter - PullRequest
0 голосов
/ 14 марта 2019

Это мой 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 работает неправильно.

1 Ответ

0 голосов
/ 14 марта 2019

Ваша модель не работает, потому что метод result() является членом класса CI_DB_result, но group_by() возвращает экземпляр CI_DB_query_builder. Другими словами, вы пытаетесь вызвать метод, который не существует для используемого класса.

Методы get() и get_where() - это только два метода Query Builder, которые возвращают объект CI_DB_result. Проще говоря, вам нужно вызвать get() или get_where(), прежде чем вы сможете использовать result() или любые другие подобные методы.

Другая проблема заключается в том, что group_by() не принимает второй аргумент типа, который вы предоставляете. Вы предоставляете массив, но он ожидает логическое значение. Вам нужно добавить другой метод, чтобы определить условие где.

Метод вашей модели должен выглядеть следующим образом. Я изменил имя первого аргумента, чтобы лучше описать его назначение.

function get_data_where($groupby, $where)
{
  return $this->db
         ->group_by($groupby)
         ->where($where)
         ->get('tbl_course_offered')
         ->result();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...