[英]Symfony2 Use parameters in EntityRepository
我想知道这是否是个好习惯。 但是对于我的项目,我需要从parameters.yml
获取一个参数,并在EntityRepository
使用它。 因此,为此我创建了一个服务,但仍未执行调用。
services:
xxx_repository:
class: XXX\DatabaseBundle\Repository\CitiesRepository
calls:
- [setTheParameter, ["%the_parameter%"]]
parameters.yml
...
the_parameter: 14400
...
在CitiesRepository.php中,我正在执行以下操作:
class CitiesRepository extends EntityRepository
{
/**
* @var
*/
protected $theParameter;
public function setTheParameter($theParameter)
{
$this->theParameter = $theParameter;
}
....
}
但是$ this-> theParameter始终为null。
所以我有两个问题:这是一个健康的习惯吗? 为什么结果总是为空?
您需要将doctrine
服务的getRepository
方法用作工厂:
xxx_repository:
class: XXX\DatabaseBundle\Repository\CitiesRepository
factory: ["@doctrine", "getRepository"]
arguments: ["DatabaseBundle:City"]
calls:
- ["setTheParameter", ["%the_parameter%"]]
然后,您可以在控制器中作为服务访问此存储库:
$this->get('xxx_repository');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.