CakePHPのView以外で実行されたSQLを見る方法 #cakephp

CakePHPのShellを作っている時に実行されたSQLを見たいなーと思って調べてみました。
1行で書けるので覚えておくと便利です。

さっそくですが、SQLの実行結果を見るには、以下のように書きます。

debug($this->{Model}->getDataSource()->getLog());

getLog()が肝です。

実際の使用例

$this->User->find('all', array(
	'contain' => array(
		'Post' => array(
			'fileds' => array(
				'Post.id', 'Post.title', 'Post.body'
			),
			'conditions' => array(
				'Post.created <=' => '2012-12-31'
			),
		)
	),
	'fileds' => array(
		'User.id', 'User.name'
	),
	'conditions' => array(
		'User.id' => 1
	),
));
debug($this->User->getDataSource()->getLog());

HABTMなどの複雑なデータを扱うときに使うことが出来るので覚えておくと良いでしょう。

参考

CakePHPのShellでsql_dumpが見たい

“CakePHPのView以外で実行されたSQLを見る方法 #cakephp” への1件のコメント

  1. […] 前のSQL文が表示されて チェックができます。 (参考) CakePHPのView以外で実行されたSQLを見る方法 […]