我正在尝试仅选择属于未锁定用户的提交(我正在使用FOSUserBundle)。由于我在提交实体上有一个ManyToOne关系,我认为它可能与findBy一起使用嵌套条件,它不会崩溃但是给我一个空结果。
$submissions = $this->getDoctrine()
->getRepository('MyBundle:Submission')
->findBy(
array(
'author' => array(
'locked' => false
)
),
array('createdAt' => 'DESC'),
12
);
我是否必须使用带有连接的查询构建器才能工作?像上面这样的东西会是如此清晰的代码。我觉得这对于博客系统中的博客帖子来说是个常见问题等等......
答案 0 :(得分:1)
不,你不能做这样的事情。但是,如果将构建查询移动到Submission
实体的自定义存储库,您将获得更清晰的代码。例如,代码将如下所示:
$submissions = $this->getDoctrine()
->getRepository('MyBundle:Submission')
->fetchByUnlockedAuthor(12);
fetchByUnlockedAuthor
将成为自定义存储库中的方法。