【发布时间】:2018-10-16 15:19:09
【问题描述】:
你能帮我处理一下 CakePHP 查询代码吗?我设法制作了 MySQL 代码,但我无法将其转换为 CakePHP
这里是 MySQL 代码
SELECT team_name, count(team_members.id)
FROM teams
LEFT JOIN team_members ON teams.id = team_members.team_id
WHERE teams.user_id = 15
GROUP BY teams.id
这是我尝试从 CakePHP 获取代码的方式:
$email = $this->request->getQuery('email');
$user = $this->Users
->find('all')
->where(['email' => $email])->first();
$options = array(
'joins' =>
array(
array(
'table' => 'TeamMembers',
'alias' => 'TeamMembers',
'type' => 'left',
'foreignKey' => false,
'conditions'=> array('TeamMembers.team_id = Teams.id')
),
),
);
$teams = $this->Teams->find('all', $options)
->select(["team_name","id",'count_members' => 'count(*)'])
->where(['Teams.user_id' => $user->id])
->group(['Teams.id']);
【问题讨论】:
-
如果你的表被命名为
team_members,那么这应该是你连接的table键中的内容,而不是TeamMembers。 CamelCased 版本应保存在别名和其他地方。
标签: join cakephp cakephp-3.0 query-builder