我在数据库中有此架构,例如,如何获取最后一条消息和字段is_seen为false对接收器10而言不是true 模式数据库:
我创建了此查询,但是我收到了接收方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();
}
答案 0 :(得分:2)
嗯,所以,如果我了解您的要求,请使用以下条件:
如果是用例,那么
$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');
应该做到这一点。