[英]Sonata Admin Bundle custom query for list to use existing Repository
I have my admin class creating a custom list using createQuery method 我有我的管理类使用createQuery方法创建自定义列表
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->andWhere(
....
);
....
return $query;
}
It all works just fine, but since I have repository with this query already defined and tests already written for that repository I was wondering if it was possible to utilize doctrine repository method instead of this? 它一切正常,但由于我已经定义了这个查询的存储库,并且已经为该存储库编写了测试,我想知道是否有可能利用doctrine存储库方法而不是这个?
Thanks 谢谢
Of course you can, as far as you return a Sonata\\DoctrineORMAdminBundle\\Datagrid\\ProxyQuery instance : 当然,只要您返回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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.