仙台の山奥で自転車に乗ったり転んだり

愛車の GIOS でサイクリングしたりポタリングしたり、それをブログに記録してみたり。ロードバイクや自転車や坂のことを書いてみたり。ときたまプログラムのことを忘れないようにメモってみたり。

生成されるSQLを確認

検索条件が複雑になったときに、デバッグのために生成されるSQLを確認したかっった。ので、処理を覗いて追ってみたら意外と単純ですぐに確認できた。
モデルの中だったら、こんな↓感じでWHERE句のSQLを生成できる。

$this->getDataSource()->conditions($conditions, true, true, $this)

だいたいは、
DboSource#renderStatement($type, $data)

DboSource#buildStatement($query, $model)
で、SQL生成のロジックが確認できる。

あとは、↓のようなメソッドも
DboSource#limit($limit, $offset)
DboSource#order($keys, $direction, $model)
DboSource#group($group, $model)