Mysql Symfony 3.2使用2个子查询创建查询';s
在我的Symfony 3.2项目中,我想显示所有Mysql Symfony 3.2使用2个子查询创建查询';s,mysql,symfony,repository,symfony-3.2,createquery,Mysql,Symfony,Repository,Symfony 3.2,Createquery,在我的Symfony 3.2项目中,我想显示所有主题,它们由用户id=1在表1和表2中使用 这是MySQL查询,它在PhpMyAdmin中工作得非常完美: SELECT DISTINCT themes.* FROM themes WHERE EXISTS (SELECT * FROM table1 WHERE table1.theme_id = themes.id AND table1.user_id = 1) OR EXISTS (SELECT *
主题,它们由用户id
=1在表1
和表2
中使用
这是MySQL查询,它在PhpMyAdmin中工作得非常完美:
SELECT DISTINCT themes.*
FROM themes
WHERE EXISTS
(SELECT *
FROM table1
WHERE table1.theme_id = themes.id
AND table1.user_id = 1)
OR EXISTS
(SELECT *
FROM table2
WHERE table2.theme_id = themes.id
AND table2.user_id = 1)
ORDER BY themes.name;
问题是我无法在我的项目中为我的ThemeRepository
类翻译它。。。我尝试了以下代码:
public function findAllUsedByUserId($userId) {
return $this->getEntityManager()
->createQuery('
SELECT DISTINCT t
FROM AppBundle:Theme t
WHERE EXISTS
(SELECT *
FROM AppBundle:Table1 a
WHERE a.theme_id = t.id
AND a.user_id = :userId)
OR EXISTS
(SELECT *
FROM AppBundle:Table2 b
WHERE b.theme_id = t.id
AND b.user_id = :userId)
ORDER BY t.name ASC
')
->setParameter('userId', $userId)
->getResult();
}
输出错误:[Syntax error]第0行第131列:错误:意外的“*”
有人能帮我问一下吗?提前谢谢 应该是a
和b
而不是*
起作用了!谢谢