使用LeftJoin优化Sonata Admin中的学说查询

爱池

您如何在列表中优化Sonata admin进行的数据库查询并编辑视图?

我LeftJoin加入了我使用实体仓库中的querybuilder进行的一些查询,这已经很有帮助,使我的查询从100多个减少到大约22个。

但是其余的查询是通过使用formbuilder和listmapper自动发生的查询。

无论如何,我可以进一步优化这些类的查询吗?我什至不知道在哪里进行查询...我试图覆盖存储库的findBy,findAll方法,但它们似乎使用了类似

$persister = $this->_em->getUnitOfWork()->getEntityPersister($this->_entityName);
return $persister->load($criteria, null, null, array(), 0, 1, $orderBy);

不知道如何将连接语句添加到...

我想这不仅是在奏鸣曲管理员中,而且还包括我在前端使用的查询,这些查询使用内置的EntityRepository find,findAll,findOneBy等功能。

rpg600

在您的管理类中重写如下createQuery()方法:

public function createQuery($context = 'list')
{
    $query = parent::createQuery($context);

    $query
        ->addSelect(...)
        ->leftJoin(...) // use $query->getRootAlias() here
    ;

    return $query;
}

对于编辑视图,它有些棘手,因为您需要通过扩展Sonata\AdminBundle\Controller\CRUDController然后覆盖editAction()方法来覆盖奏鸣曲控制器

可以在服务声明的第三个参数中指定控制器名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Sonata Admin中使用学说CRUD

来自分类Dev

使用DQL优化学说查询

来自分类Dev

学说ManyToMany优化许多查询

来自分类Dev

如何在Symfony2中使用APC案例学说准备查询

来自分类Dev

如何在symfony2中使用动态变量系统地过滤学说查询

来自分类Dev

如何在symfony2中使用动态变量系统地过滤学说查询

来自分类Dev

ZF2学说-使用查询生成器如何指向存储库中的自定义方法

来自分类Dev

使用leftJoin和Eloquent的SQL查询

来自分类Dev

Sonata Admin:使用多个文档类(类型)

来自分类Dev

在Sonata Admin Bundle中使用标签

来自分类Dev

在Sonata Admin Bundle中使用标签

来自分类Dev

在Sonata Admin中禁用搜索

来自分类Dev

使用Django查询优化

来自分类Dev

使用“ NOT IN”优化MySQL查询

来自分类Dev

本机查询中的学说Add_date

来自分类Dev

使用内部查询优化查询

来自分类Dev

Symfony 2 Sonata Media捆绑包:不使用Sonata admin保存媒体文件图像

来自分类Dev

使用DISTINCT优化选择查询

来自分类Dev

使用IN子句优化Oracle查询

来自分类Dev

使用TO CHAR函数优化查询

来自分类Dev

使用多个总和优化查询?

来自分类Dev

使用多个表优化查询

来自分类Dev

使用 subselect 优化 MySQL 查询

来自分类Dev

使用联接优化 SQL 查询

来自分类Dev

如何使用symfony在实体类中调用学说

来自分类Dev

如何使用symfony在实体类中调用学说

来自分类Dev

使用日志表中的knplabs学说行为进行loggable

来自分类Dev

使用symfony中的学说检索数据和行数

来自分类Dev

使用优化的R中的非线性优化