2

我想知道是否可以通过关系中的属性查询学说实体。

这是一个例子:

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" ) );

目前,我正在使用实体 B 存储库中的自定义函数来实现这一点,但可能是我遗漏了一些东西。

4

1 回答 1

3

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

于 2014-10-14T12:25:22.803 回答