我是一个新手,我无法让我的cakephp查询正确。cakephp - 获取连接正确
我有一个用户表和用户hasmany旋转。所述ROTAS表看起来像
monday_am
monday_pm
tuesday_am
等
,并且如果用户是由于在上monday_pm例如,则该字段将有1。否则0.
我想获得所有属于某个房间的用户,已注销= 0和 - 这是我在哪里“M有问题 - 谁拥有罗塔其中(例如)tuesday_am = 1
所以我的代码:
$options['conditions'] = array('User.room_id'=>$room_id, 'User.deregistered'=>0, 'User.request'=>0);
$options['joins'] = array(
array('table' => 'rotas',
'alias' => 'rota',
'type' => 'INNER',
'conditions' => array('rota.'.$todaysDay.'_'.$amPm => 1)
)
);
$usersToday = $this->User->find('all', $options);
如果我不尝试加入然后我得到一个不错的小清单的用户喜欢我所期望的。如果我尝试加入,我会得到100个大部分都是重复的结果!
如何获取用户在Users表中以及Rotas表中具有所需条件的一条记录,以及如何进行连接,因为我导致了如此多的结果?!?
感谢
是否有你不想在模型中定义hasMany关系的原因?如果你这样做,你可以只为相关模型添加条件,蛋糕会为你加入。 http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html – Jage
你的意思是像$ options ['conditions'] = array('User.room_id'=> $ room_id, 'User.deregistered'=> 0,'User.request'=> 0,'rota。'。$ todaysDay。'_'。$ amPm => 1);因为这没有用。根据http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#joining-tables hasmany关系需要加入? –