Я пытаюсь отладить некоторый код в моем первом серьезном приложении CodeIgniter, и я не могу найти, где я могу просто получить необработанный SQL, который только что сгенерировал код ActiveRecord.
$where = 'DAY(`datetime_start`) = '. date('d',$day) .' AND '; $where .= 'MONTH(`datetime_start`) = '. date('m',$day) .''; $this->db->from('events')->where($where); $result = $this->db->get();
Спасибо за помощь!
Перед запуском запроса:
$this->db->_compile_select();
И после того, как он запустил:
$this->db->last_query();
Конечно, я нашел это через 2 минуты после публикации, любезно предоставил Фила Стерджона .
echo $this->db->last_query();
Кроме того, вы можете поместить следующее в свой контроллер:
$this->output->enable_profiler(TRUE);
Вы получите запросы и многое другое.
Для тех, кто находит этот старый пост и задается вопросом, что это в последнем v3, функция $ this-> db-> get_compiled_select ().
Вы можете сделать что-то подобное, пока не будет выпущена следующая версия CI
private function get_query_string() { return 'SELECT ' . implode( ' , ' , $this->db->ar_select ) . ' FROM ' . implode( ' , ' , $this->db->ar_from ) . ( count( $this->db->ar_where ) ? ' WHERE ' : '' ) . implode( ' ' , $this->db->ar_where ); }