Doctrine orm 条令2或条件

Doctrine orm 条令2或条件,doctrine-orm,Doctrine Orm,我试图在我的条令查询中设置where条件 条件应该是, 返回所有已发送的邮件,其中: 或 B;发送方=B,接收方=A 以下是我的疑问;查询只返回第一个条件 public function getMessageHistory() { $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select(array('u')) ->from('M

我试图在我的条令查询中设置where条件

条件应该是,

返回所有已发送的邮件,其中:

B;发送方=B,接收方=A

以下是我的疑问;查询只返回第一个条件

public function getMessageHistory()
    { 
        $qb = $this->getEntityManager()->createQueryBuilder();

        $qb->select(array('u'))
            ->from('Messages\Entity\Messages','u')
            ->where  ('u.senderUserId = :senderId AND u.receiverUserId = :receiverId')
            ->orWhere('u.senderUserId = :receiverId AND u.receiverUserId = :senderId')
            ->setParameter('senderId',(int)$this->getUserId())
            ->setParameter('receiverId',(int)$this->getRecipientId());  

            $query = $qb->getQuery();

            return $data = $query->getArrayResult(); 
    }

提前感谢您的帮助

我将这样构建:

$qb->select(array('u'))
    ->from('Messages\Entity\Messages','u')
    ->where(
        $qb->expr()->orX(
            $qb->expr()->andX(
                $qb->expr()->eq( 'u.senderUserId', ':senderId' ),
                $qb->expr()->eq( 'u.receiverUserId', ':receiverId' )
            ),
            $qb->expr()->andX(
                $qb->expr()->eq( 'u.senderUserId', ':receiverId' ),
                $qb->expr()->eq( 'u.receiverUserId', ':senderId' )
            ),
        )
    )
    ->setParameter('senderId',(int)$this->getUserId())
    ->setParameter('receiverId',(int)$this->getRecipientId()); 

你好,伊卢伊斯纳尔。非常感谢您的回复。我不知道如何使用这个样式$qb->expr()->orX()。它叫什么?我的意思是,我在网站上找不到任何关于如何使用它的信息?。你知道关于参考资料的任何教程吗
$qb->select(array('u'))
    ->from('Messages\Entity\Messages','u')
    ->where(
        $qb->expr()->orX(
            $qb->expr()->andX(
                $qb->expr()->eq( 'u.senderUserId', ':senderId' ),
                $qb->expr()->eq( 'u.receiverUserId', ':receiverId' )
            ),
            $qb->expr()->andX(
                $qb->expr()->eq( 'u.senderUserId', ':receiverId' ),
                $qb->expr()->eq( 'u.receiverUserId', ':senderId' )
            ),
        )
    )
    ->setParameter('senderId',(int)$this->getUserId())
    ->setParameter('receiverId',(int)$this->getRecipientId());