学说得到最后的消息

问题描述 投票:-1回答:1

我在数据库中有这个模式,如何获取最后的消息和字段is_seen是假的,对于接收器10来说不是真的。例如,模式数据库:

enter image description here

我创建了这个查询,但我收到了接收器10的第一条消息:

查询:

public function messagesByReceiver($user) {

    /** @var \Doctrine\ORM\Query */
   $query = $this->createQueryBuilder('a')
      ->select('a')
      ->where('a.receiver = :user')
      ->setParameter('user', $user)
      ->groupBy('a.sender')
      ->orderBy('a.createdAt','DESC')
    ;


   return $query->getQuery()->getResult();
  }
symfony doctrine-orm doctrine
1个回答
1
投票

嗯,所以,如果我理解你的正确,你想使用以下条件:

  1. receiver_id是10
  2. is_seen是假的

如果那是用例那么

$query = $this->createQueryBuilder('a')
    ->select('a')
    ->where('a.receiver = :user')
    ->andWhere('a.is_seen = 0')
    ->setParameter('user', $user)
    ->groupBy('a.sender')
    ->orderBy('a.createdAt','DESC');

应该做的伎俩。

© www.soinside.com 2019 - 2024. All rights reserved.