Symfony2 findBy方法,具有来自关系的属性

时间:2014-10-14 12:14:24

标签: symfony doctrine-orm findby

我想知道是否有可能通过关系中的属性来查询教义实体。

以下是一个例子:

Entity A fields :


-> title
-> content
-> description
-> date


Entity B fields :

-> title
-> link ( entity b )
-> date

是否可以通过link-> title属性查询实体B,如下所示:

$this->getDoctrine()->getManager()->getRepository("acmeAppBundle:EntityB")->findBy(array( "title" => "test", "link.title" => "example" ) );

目前我正在通过Entity B存储库中的自定义函数实现此目的,但可能是我遗漏了一些东西。

1 个答案:

答案 0 :(得分:3)

你不能像这样使用findBy。 FindBy仅用于获取非常基本的东西。通常,它被认为是使用存储库调用的最佳实践,因为例如,如果您在此处获取标题为test的所有对象,然后从A all B实体获取,则实体B将单独获取,而在存储库中调用您可以使用join,因此只会向您的数据库发送一个查询。