gpt4 book ai didi

php - cakephp - 正确连接

转载 作者:行者123 更新时间:2023-11-30 00:56:37 25 4
gpt4 key购买 nike

我是个新手,我在正确获取 cakephp 查询时遇到了困难。

我有一个用户表,并且用户有很多轮换表。旋转表看起来像

星期一上午

星期一下午

星期二上午

等等

例如,如果用户预计在 monday_pm 到达,则该字段将为 1。否则为 0。

我想要获取属于特定房间、已取消注册=0 的所有用户,并且 - 这就是我遇到问题的地方 - 其轮类表(例如)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);

如果我不尝试加入,那么我会像我期望的那样得到一个不错的小用户列表。如果我尝试连接,我会得到数百个结果,其中大部分是重复的!

如何获取在 Users 表和 Rotas 表中具有所需条件的用户的一条记录,以及为什么执行连接会导致这么多结果?!?

谢谢

最佳答案

假设您的 rota 表中有一个名为 user_id 的列,您可以像这样创建 Rota 模型:

class Rota extends Model
{
public $belongsTo = array('User');
}

然后在您的 Controller 中,您可以查询 Rotas 并从中获取用户。

$users = $this->Rota->find('all', array(
'fields' => array('DISTINCT (User.id)' /* add more fields for selection */ ),
'conditions' => array(
'User.room_id'=>$room_id,
'User.deregistered'=>0,
'User.request'=>0,
'Rota.'.$todaysDay.'_'.$amPm => 1
)
));

关于php - cakephp - 正确连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20499876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com