我在数据库中有这个模式,如何获取最后的消息和字段is_seen是假的,对于接收器10来说不是真的。例如,模式数据库:
我创建了这个查询,但我收到了接收器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();
}
嗯,所以,如果我理解你的正确,你想使用以下条件:
如果那是用例那么
$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');
应该做的伎俩。