Symfony 3.2 Doctrine2以类的形式存储复杂查询的ORM

时间:2017-05-18 10:08:15

标签: php symfony doctrine-orm orm

一天的好心情,鉴赏家Symfony已经是第三天我研究Symfony 3.2我学会了访问几个数据库并尝试了一点Doctrine 2

一切顺利。请提示我将数据库存储到数据库中,我不必在各种控制器中使用重复请求。

如果我不明白解释

有一个控制器,例如src / ParserBundle / EmployeesController.php

有一个:

$Repository = $this->getDoctrine()->getRepository('ParserBundle:Provider');
$Providers = $repository->findAll();

对数据库的查询有一个类,例如src / ParserBundle / Entity / Provider.php

那么如何制作复杂的查询我可以从Doctrine 2文档中读取,但是我可以在哪里存储那些不会复制的查询?以及如何从主控制器访问它们 - 有关于此的文档吗?

1 个答案:

答案 0 :(得分:1)

它被称为Doctrine存储库,是的,当然有关于它的文档:http://symfony.com/doc/current/doctrine/repository.html

在控制器中,您可以像以前一样调用它。您的自定义存储库类将覆盖默认存储库类。

$providers = $repository->myCustomFind();

PS:Symfony写的是 f 而不是 ph ......:)