1

私のページで検索したい場合、質問があります: - 最後の 10 人の登録ユーザー - 最後の 10 人のログイン ユーザー - プロダクトを挿入した最後の 10 人のユーザー

これらのクエリは複数ありますが、コントローラーではさらにクエリを作成する必要があり、すべてのクエリでそれを変数に入れますか?

そんな感じ?

$first_query = $this->User->find ('all', array(
                    'conditions' => array(...)
            )); 
$second_query = $this->User->find ('all', array(
                    'conditions' => array(...)
            )); 
$third_query = $this->User->find ('all', array(
                    'conditions' => array(...)
            )); 

そして、私の見解では、変数を使用します$first_query, $second_query,$third_query

正しいですか、それともクエリをコントローラーでより多くの機能に分割する方が良いですか?

4

2 に答える 2

1

コントローラのアクションメソッドで次のコードを使用できます。モデルの関連付けをそれ自体にマッピングできます。そして、これはあなたに期待される結果を返します。

$this->User->bindModel(array('belongsTo' => array('LastRegUser' => 
                                                                  array(
                                                                        'className' => 'User',
                                                                        'foreignKey' => 'id',
                                                                        'conditions' => array(...)),
                                                  'LoggedInUser' => array(
                                                                        'className' => 'User',
                                                                        'foreignKey' => 'id',
                                                                        'conditions' => array(...)) ..... )));

そして、次のコードを使用して、次のコードを使用してすべてのユーザーをフェッチすることができます。

$users = $this->User->find('all');
于 2012-07-02T10:33:32.227 に答える
1

いいえ、あなたがそれを行う方法は「その」方法です。ただし、変数にはクエリは含まれていませんが結果が含まれており、「最初」、「2番目」などは内容について何も述べていないため、おそらく別の名前を付ける必要があります。など$lastRegisteredUsersと呼びます。$lastLoggedInUsers

1 つのカテゴリのみからユーザーを選択する場合など、条件が非常に似ている場合は、コピーして貼り付ける代わりに、その条件を変数に保存して再利用できます。

于 2012-06-30T11:16:59.153 に答える