Mysql 不适用于多字段DQL Doctrine2

Mysql 不适用于多字段DQL Doctrine2,mysql,symfony,doctrine-orm,Mysql,Symfony,Doctrine Orm,我只是想知道如何在doctrine2中做这样的事情 select e from \Entity e where e.field1, e.field2 NOT IN (select e2.field1, e2.field2 from \Entity e2 where condition ) 当我这样做或用括号括住这两个字段时,我得到一个错误,如: QueryException:[语法错误]第0行,第136列:错误:应为 条令\ORM\Query\Lexer::T

我只是想知道如何在doctrine2中做这样的事情

select 
    e 
from 
    \Entity e 
where 
    e.field1, e.field2 NOT IN (select e2.field1, e2.field2 from \Entity e2 where condition )
当我这样做或用括号括住这两个字段时,我得到一个错误,如:

QueryException:[语法错误]第0行,第136列:错误:应为 条令\ORM\Query\Lexer::T_CLOSE_括号,got','

或:

QueryException:[语法错误]第0行,第135列:错误:应为=,=,!=,有','

PHP代码:

$query = $this->_em->createQuery('
  SELECT r FROM LibrairieBundle\Entity\Reseau r 
  WHERE ( r.client1 = :me or r.client2 = :me ) and r.confirme = 1 
  and (r.client2, r.client1) not in (
    select s.clientFrom, s.clientObject from LibrairieBundle\Entity\SuggestClient s 
    where s.clientTo = :cible 
  )
');

把where子句分开

SELECT 
    e 
FROM 
    \Entity e 
WHERE 
    e.field1 NOT IN (SELECT e2.field1 FROM \Entity e2 WHERE condition ) AND
    e.field2 NOT IN (SELECT e3.field2 FROM \Entity e3 WHERE condition )

把where子句分开

SELECT 
    e 
FROM 
    \Entity e 
WHERE 
    e.field1 NOT IN (SELECT e2.field1 FROM \Entity e2 WHERE condition ) AND
    e.field2 NOT IN (SELECT e3.field2 FROM \Entity e3 WHERE condition )

你能告诉我们你在哪里有这个查询的条令代码吗?当然,目标是检索我的朋友并将他们推荐给朋友。列表中不应该包含我已经向我的朋友推荐的朋友xD,它有点复杂$query=$this->\u em->createQuery'SELECT r FROM librariebundle\Entity\Reseau r其中r.client1=:me或r.client2=:me和r.confirme=1和r.client2,r.client1不在SELECT s.clientFrom中,来自librariebundle\Entity\SuggestClient s的s.clientObject,其中s.clientTo=:cible';当你完全使用你评论中的代码时,会生成什么查询?你能告诉我们你在哪里有这个查询的条令代码吗?当然,目标是检索我的朋友并将他们推荐给朋友。列表中不应该包含我已经向我的朋友推荐的朋友xD,它有点复杂$query=$this->\u em->createQuery'SELECT r FROM librariebundle\Entity\Reseau r其中r.client1=:me或r.client2=:me和r.confirme=1和r.client2,r.client1不在SELECT s.clientFrom中,来自librariebundle\Entity\SuggestClient s的s.clientObject,其中s.clientTo=:cible';当您完全使用您的评论中的代码时,会生成什么查询?感谢ihsan的回答,我昨天已经尝试过了,但是我收到了一条错误消息,告诉我别名e2重复了或类似的内容:/thank you ihsan的回答,我昨天已经尝试过了,但我收到一条错误消息,告诉我别名e2重复或类似的内容:/