Symfony Doctrine2:createQueryBuilder,它具有具有多个条件的innerJoin
我基本上想执行以下SQL语句:Symfony Doctrine2:createQueryBuilder,它具有具有多个条件的innerJoin,symfony,doctrine-orm,doctrine-query,Symfony,Doctrine Orm,Doctrine Query,我基本上想执行以下SQL语句: SELECT * FROM Table1 JOIN Table2 ON ( Table2.ID = Table1.THIS_ID OR Table2.ID = Table1.THAT_ID ) 使用createQueryBuilder和而不是createQuery 可能吗? 我所能找到的所有示例都只处理一个条件,而没有处理连接和/或连接内的问题 谢谢。您可以尝试类似的方法(例如在存储库中): 您可以这样做: $qb->leftJoin(
SELECT * FROM Table1
JOIN Table2
ON (
Table2.ID = Table1.THIS_ID
OR
Table2.ID = Table1.THAT_ID
)
使用createQueryBuilder和而不是createQuery
可能吗?
我所能找到的所有示例都只处理一个条件,而没有处理连接和/或连接内的问题
谢谢。您可以尝试类似的方法(例如在存储库中):
您可以这样做:
$qb->leftJoin(
'u.Phonenumbers',
'p',
Expr\Join::WITH,
$qb->expr()->orx(
$qb->expr()->eq('t.this_id', 't1.id'),
$qb->expr()->eq('t.this_id', 't1.id')
)
)
这里我有点麻烦,是美国电话号码部分。e、 我只想加入Table2,就像在普通SQL中一样。我不想处理一点,如果PhoneNumber是一个映射,那么这两个表之间就没有映射。
$qb->leftJoin(
'u.Phonenumbers',
'p',
Expr\Join::WITH,
$qb->expr()->orx(
$qb->expr()->eq('t.this_id', 't1.id'),
$qb->expr()->eq('t.this_id', 't1.id')
)
)