1
別のテーブルの値に基づいて一つのテーブルにフィルター検索は、モデル名は、ユーザーCakePHPの:私は、ユーザー情報を含むテーブルを持っている
User
----
id full_name (for demo purposes)
1 john doe
2 jane doe
3 john smith
4 jane smith
Userモデルが
Record
------
userid(FK)
1
1
3
3
3
録音と呼ばれる別のモデルにリンクされています
私のコントローラには、いくつかの基準に基づいてユーザーを探すルーチンもあります。
$leads = $this->User->find('list',array(
'fields' => array('User.id','User.full_name'),
'order' => array('User.full_name ASC'),
'conditions'=>array('AND'=>array(
'NOT'=>array('User.deleted_record'=>1),
array('NOT'=>array('User.username'=>'root',
array('User.username'=>'testuser')))
))
));
これは、ユーザーのドロップダウンリストを返すために正常に機能します。私が今必要とするのは、レコードモデルにレコードが1つ以上あるかどうかに基づいてユーザーリストをさらにフィルタリングすることです。もしそうでなければ、彼らは現れてはいけません。
User
----
id
1
3
私はIN句を必要とし、参加します、これを推測しているが、私は私のコードでそれを設定するには、「ケーキ」の方法を知りません。あなたは既にそれぞれのモデルでのユーザーとレコードテーブル間の関係を設定している場合は
感謝を。私は、 'group' =>配列( 'Record.userid')を結合と一緒に使用して動作させることができました。 *完全ではない* Cake-y、でも私はそこにいる! – Chris
喜んで役立つ:) – Aarrbee