【发布时间】:2014-04-01 09:41:03
【问题描述】:
如何在 CakePhp 中进行此查询?
从 id 不在的用户中选择 id(从 user_details 中选择 userid ud join users u ON u.id=ud.userid AND ud.name ='fullname');
【问题讨论】:
标签: cakephp
如何在 CakePhp 中进行此查询?
从 id 不在的用户中选择 id(从 user_details 中选择 userid ud join users u ON u.id=ud.userid AND ud.name ='fullname');
【问题讨论】:
标签: cakephp
最简单的方法。但不是原生 cakephp,总是尝试使用 find() 方法。
$this->User->Query("select id from users where id not in (select userid from user_details ud join users u ON u.id=ud.userid AND ud.name ='fullname')");
【讨论】:
要获得您必须执行的确切查询:
$this->User->find(
'all',
array(
'fields' => array('User.id'),
'conditions' => array('id NOT IN (select userid from user_details ud join users u ON u.id=ud.userid AND ud.name ='fullname')'
);
但你可以简单地实现相同的结果
$this->User->find(
'all',
array(
'fields' => array('User.id'),
'conditions' => array('UserDetail.name !=' => 'fullname'),
'contain' => array('UserDetail')
);
假设您的User 模型与UserDetail 建立关系(hasOne?)
【讨论】: