我的管理类使用createQuery方法
创建自定义列表public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->andWhere(
....
);
....
return $query;
}
一切正常,但由于我已经定义了这个查询的存储库,并且已经为该存储库编写了测试,我想知道是否可以使用doctrine存储库方法而不是这个?
由于
答案 0 :(得分:15)
当然,只要您返回Sonata \ DoctrineORMAdminBundle \ Datagrid \ ProxyQuery实例,就可以了:
/**
* {@inheritDoc}
*/
public function createQuery($context = 'list')
{
$repository = $this->modelManager->getEntityManager($this->getClass())->getRepository($this->getClass());
$query = new ProxyQuery($repository->createMyCustomQueryBuilder());
foreach ($this->extensions as $extension) {
$extension->configureQuery($this, $query, $context);
}
return $query;
}