コントローラの特定のモデルによって実行されたSQLクエリをテーブルに記録する動作を作成しています。特定のファインダメソッド($ this-> MyModel-> find( 'all')のような)に対して実行されたSQLクエリを返したいメソッドを探しています。ベーカリーで$ this-> MyModel-> find( 'sql')、しかし私のために働かない。誰かが私はこれをどのように達成できるのか知っていますか?事前にcakephpファインダメソッドからsqlクエリを取得します
おかげで
コントローラの特定のモデルによって実行されたSQLクエリをテーブルに記録する動作を作成しています。特定のファインダメソッド($ this-> MyModel-> find( 'all')のような)に対して実行されたSQLクエリを返したいメソッドを探しています。ベーカリーで$ this-> MyModel-> find( 'sql')、しかし私のために働かない。誰かが私はこれをどのように達成できるのか知っていますか?事前にcakephpファインダメソッドからsqlクエリを取得します
おかげで
あなたのapp_model.phpでこの機能を置くことができます()の$ this - > getLastQueries()
function getLastQueries()
{
$dbo = $this->getDatasource();
$logs = $dbo->_queriesLog;
return $logs;
}
し、任意のモデルから、それを呼び出すかコントローラ(の$ this - >モデル - > getLastQueries())を使用して取得します。
の$ this - >モデル - >( 'SQL')はケーキでネイティブにサポートされていません見つけます。新しいDBOドライバをインストールし、AppModelでfind( 'sql')メソッドのサポートを追加するには、ベーカリーの記事の残りの手順に従わなければなりません。一度これを行うと、それはあなたが探しているものを得ることができるはずです。
getLastQueries()に続く$ this-> MyModel-> find( 'all')を試していますが、空の配列があります – rizidoro
デバッグ設定> 1(2または3) – elboletaire