如何提高 symfony 管理生成器页面的性能?

发布于 2024-11-07 14:32:48 字数 153 浏览 0 评论 0原文

我有一个 symfony 管理生成器页面,其中每一行都会进行多次函数调用,因此会多次访问数据库。

我向 table_method 添加了一个查询并使用了一些联接,但它并没有减少在我的页面上执行的查询数量。

一个人应该做什么来提高绩效?

I have a symfony admin generator page where each row makes several function calls and, therefore, several trips to the database.

I added a query to table_method and used some joins but it doesn't reduce the number of queries executed on my page.

What's a person supposed to do to improve performance here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

胡渣熟男 2024-11-14 14:32:48

链接到“table_method”的查询必须具有显示的所有字段,否则您可能会忽略某些 kisa 字段,或者您的查询没有

根据手册添加与示例 Symfony 相关的字段,以减少查询数量,如下所示如下:

   
 # apps/backend/modules/job/config/generator.yml
config:
  list:
    table_method: retrieveBackendJobList
 
    // lib/model/doctrine/JobeetJobTable.class.php
class JobeetJobTable extends Doctrine_Table
{
  public function retrieveBackendJobList(Doctrine_Query $q)
  {
    $rootAlias = $q->getRootAlias();
    $q->leftJoin($rootAlias . '.JobeetCategory c');
    return $q;
  }

  // ...

your query linked to your "table_method" must have all the fields that show otherwise you're probably ignoring some kisa field or your query did not add in fields related to samples

Symfony according to the manual that is done to reduce the number of queries as follows:

   
 # apps/backend/modules/job/config/generator.yml
config:
  list:
    table_method: retrieveBackendJobList
 
    // lib/model/doctrine/JobeetJobTable.class.php
class JobeetJobTable extends Doctrine_Table
{
  public function retrieveBackendJobList(Doctrine_Query $q)
  {
    $rootAlias = $q->getRootAlias();
    $q->leftJoin($rootAlias . '.JobeetCategory c');
    return $q;
  }

  // ...
弥枳 2024-11-14 14:32:48

您可以禁用外键上的某些过滤器,它们有自己的具体请求,而不是基于 table_method。

You can disable some filters on foreign key, they have their own specifics requests, not based on table_method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文