-3

私のウェブサイトで最も人気のある 5 つのクエリを取得するために、データベースの SQL クエリがあります。

SELECT query, COUNT( query ) AS cnt
FROM search_queries
GROUP BY query
ORDER BY cnt DESC 
LIMIT 5

これはphpmyadminで使用すると機能し、最もよく使用される5つのクエリが表示されます. ここで、それを純粋な CakePHP 形式に変換して、自分の Web サイトに含めることができるようにします ($this->find() を使用)。一番簡単な書き方とは?

ありがとう!

4

2 に答える 2

0

'pure CakePHP' を使用したい場合は、名前付きのモデルと名前付きQueryのコントローラーを作成する必要がありますQueriesController

コントローラーで使用できます

$this->Query->virtualFields['cnt'] = 'COUNT(query)';
$mostUsedQueries = $this->Query->find(
    'all', 
     array(
        'fields' => array('query', 'cnt'),
        'group' => 'query', 
        'order' => array('cnt' => 'DESC'),
        'limit' => 5
     )
 );

これにより、投稿したものとまったく同じクエリが生成されます

于 2013-09-27T16:05:20.843 に答える
0

なぜあなたは使用に固執するのfind()ですか?クエリを準備したら、query()またはメソッドを使用できます。fetchAll()

ここを見てください: http://book.cakephp.org/2.0/en/models/retrifying-your-data.html

この種の解決策に興味がないかもしれませんが、このようにできるかどうかわからない場合に備えて、ここに置いておきます。

于 2013-09-27T15:59:23.810 に答える