是否有可能在SQLFilter中获取symfony2的服务容器,或者我可以直接将服务用作SQLFilter?
我知道这不是一种“干净”的方式,但是我必须在查询的最终提交被触发之前直接执行几次检查(因为我必须将条件附加到WHERE语句,我不能此时使用生命周期事件。)
答案 0 :(得分:6)
它不干净,但你可以试试这个:
<?php
class MyBundle extends Bundle
{
public function boot()
{
$em = $this->container->get('doctrine.orm.default_entity_manager');
$conf = $em->getConfiguration();
$conf->addFilter(
'test',
'Doctrine\Filter\TestFilter'
);
$em->getFilters()->enable('test')->setContainer($this->container);
}
}