Intereting Posts
PHP проверяет числовое значение внутри цикла foreach с парами ключей и значений? Вставьте новую запись, если она не существует, и обновите, если она существует, laravel eloquent Как закрыть вкладку браузера после отправки формы? Отключить кэширование шаблонов для разработки в OpenCart 3 выбирать каждую другую строку в MySQL без какого-либо идентификатора? Как выбирать случайным образом с доктриной Как настроить сообщения об ошибках регулярного выражения Zend_Form? Любая причина, по которой этот фрагмент кода не будет устанавливать cookie правильно? Использование сеанса для ограничения подачи заявки по времени как получить идентификатор видео из iframe из youtube в php или cakephp PHP: Преобразование массива в JSON Как преобразовать огромное целое число в hex в php? Передача значений или переменных в корзину PayPal Как я могу прочитать файл .tar.gz с PHP? Распределение памяти PHP не работает

Можете ли вы связать вызовы модели в CodeIgniter

Я пытаюсь обеспечить, чтобы я получал максимальную отдачу от своего класса моделей, и недавно я был новичком в M в MVC. Предполагая, что в вашей модели существуют такие функции:

public function by_year($year) { $this->db->where('EXTRACT(YEAR FROM post_date) = '.$year); } public function by_month($month) { $this->db->where('EXTRACT(MONTH FROM post_date) = '.$month); } 

Можете ли вы объединить эти вызовы вместе, как при использовании активного класса записи?

 $this->db->select('*')->from('table'); $this->model_name->by_year($year)->by_month($month); $results = $this->db->get()->result_array(); print_r($results); в $this->db->select('*')->from('table'); $this->model_name->by_year($year)->by_month($month); $results = $this->db->get()->result_array(); print_r($results); 

Альтернативно, если есть способ выполнить это в 1 строке кода, которая была бы лучше для меня. Очевидно, что вышеуказанный метод не работает, и я получаю сообщение об Fatal error: Call to a member function by_month() on a non-object

    Да, вы можете, добавив return $this к каждому методу.

     public function by_year($year) { $this->db->where('EXTRACT(YEAR FROM post_date) = '.$year); return $this; } public function by_month($month) { $this->db->where('EXTRACT(MONTH FROM post_date) = '.$month); return $this; } 

    Это будет работать только с PHP 5+.