Php Sonata Admin Bundle用于使用现有存储库的列表的自定义查询
我让我的管理类使用createQuery方法创建一个自定义列表Php Sonata Admin Bundle用于使用现有存储库的列表的自定义查询,php,symfony,doctrine,sonata-admin,Php,Symfony,Doctrine,Sonata Admin,我让我的管理类使用createQuery方法创建一个自定义列表 public function createQuery($context = 'list') { $query = parent::createQuery($context); $query->andWhere( .... ); .... return $query; } 这一切都很好,但由于我已经定义了带有此查询的存储库,并且已经为该存储库编写了测试,我想知道是否可以
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->andWhere(
....
);
....
return $query;
}
这一切都很好,但由于我已经定义了带有此查询的存储库,并且已经为该存储库编写了测试,我想知道是否可以使用条令存储库方法来代替此方法
谢谢当然可以,只要返回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;
}
以下是关于它的更多信息: