web-dev-qa-db-ja.com

CodeIgniter1.7で生のSQLクエリを取得する

私は最初の本格的なCodeIgniterアプリでいくつかのコードをデバッグしようとしていますが、ActiveRecordコードが生成したばかりの生のSQLを簡単に取得できる場所が見つからないようです。

    $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();

助けてくれてありがとう!

26
bkorte

クエリを実行する前に:

$this->db->_compile_select(); 

そしてそれが実行された後:

$this->db->last_query();
42
hipertracker

また、コントローラーに次のものを入れることができます。

$this->output->enable_profiler(TRUE);

クエリなどが表示されます。

8
John McCollum

もちろん、投稿の2分後に、 Phil Sturgeon の好意で見つけました。

echo $this->db->last_query();
8
bkorte

この古い投稿を見つけて、これが最新のv3に何があるのか​​疑問に思う方は、関数は$ this-> db-> get_compiled_select()です。

1
Ukuser32