我有一个包含用户信息的表,型号名称是User
User
----
id full_name (for demo purposes)
1 john doe
2 jane doe
3 john smith
4 jane smith
User模型链接到另一个名为Record
的模型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')))
))
));
这适用于返回用户的下拉列表。我现在需要做的是根据用户列表是否在Record模型中有一个或多个记录来进一步过滤用户列表。如果他们不这样做,他们就不应该出现。
User
----
id
1
3
我猜这将需要IN条款和加入,但我不知道" Cake"在我的代码中设置它的方法。
答案 0 :(得分:2)
如果您已经在各个模型中的用户和记录表之间建立了关系,那么您应该在UsersController中尝试这个:
$userList = $this->User->Record->find('list', array('group' => array('Record.userid')));