假设我有一个Account实体和一个AccountData实体(该实体存储一些较少使用的属性,例如性别等)。

Account和AccountData之间的关系是一对一的,并且该帐户“拥有” AccountData。

我正在尝试使用Doctrine 2/Symfony 2,找出如何根据AccountData中的属性提取一个Account。

例如,如何搜索AccountData-> gender ='female'的所有帐户?

最佳答案

像这样使用Doctrine的查询生成器应该可以解决问题:

$repository = $this->getDoctrine()->getRepository('YourBundle:Account');

$query = $repository->createQueryBuilder('a')
    ->join('a.AccountData', 'd')
    ->where('d.gender = :gender')
    ->setParameter('gender', 'female')
    ->getQuery();

$female_accounts = $query->getResult();

您可以改为使用存储库类查看http://symfony.com/doc/current/book/doctrine.html#joining-to-related-records示例。

希望能帮助到你。

09-25 16:01