【发布时间】:2014-06-23 18:58:24
【问题描述】:
我正在使用 Doctrine Query Builder,并且有一个非常具体的要求。
我在我的实体中使用 ManyToMany 字段,与用户实体关联(用户帐户实体数组)相关。
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="User", cascade={"persist"})
* @ORM\JoinTable(name="post_user_list")
*/
protected $userList;
在显示“公开帖子”的要求中,要求实体具有设置为 true 的已发布布尔值、小于当前日期的发布日期以及与实体关联的两个用户。
在我的查询生成器中,我设置了这个:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select($select)->from($this->getEntityName(), 'p');
$criteria = $qb->expr()->andX();
$criteria->add($qb->expr()->eq('p.editor_published', 1))
->add($qb->expr()->lte('p.datePublished', ':now'));
并且只处理前两个要求,现在我需要一个标准条目来计算 userList 中用户实体的数量,以及专门针对大于或等于两个用户的 where 子句。
不完全确定从哪里继续..
【问题讨论】:
标签: symfony doctrine-orm doctrine many-to-many doctrine-query