【问题标题】:Debug Kit show duplicated query调试工具包显示重复查询
【发布时间】:2018-11-24 14:40:14
【问题描述】:

我正在做蛋糕教程,一旦我结束,正在查看文章编辑页面内的 Debugkit sql 日志,看起来检索文章数据的查询由于某种原因被重复了。
这是显示两次的查询:

SELECT 
  Articles.id AS `Articles__id`, 
  Articles.user_id AS `Articles__user_id`, 
  Articles.title AS `Articles__title`, 
  Articles.slug AS `Articles__slug`, 
  Articles.body AS `Articles__body`, 
  Articles.published AS `Articles__published`, 
  Articles.created AS `Articles__created`, 
  Articles.modified AS `Articles__modified` 
FROM 
  articles Articles 
WHERE 
  Articles.slug = 'first-post' 
LIMIT 
  1

这是编辑功能:

   public function edit($slug)
    {
        $article = $this->Articles
            ->findBySlug($slug)
            ->contain('Tags') // load associated Tags
            ->firstOrFail();

        if ($this->request->is(['post', 'put'])) {
            $this->Articles->patchEntity($article, $this->request->getData(), [
                // Added: Disable modification of user_id.
                'accessibleFields' => ['user_id' => false]
            ]);
            if ($this->Articles->save($article)) {
                $this->Flash->success(__('Your article has been updated.'));
                return $this->redirect(['action' => 'index']);
            }
            $this->Flash->error(__('Unable to update your article.'));
        }
        $tags = $this->Articles->Tags->find('list');

        $this->set('article', $article);
        $this->set('tags', $tags);

    }

查询应该在这一行只执行一次:

 $article = $this->Articles
            ->findBySlug($slug)
            ->contain('Tags') // load associated Tags
            ->firstOrFail();

正确吗?

【问题讨论】:

    标签: mysql cakephp cakephp-3.0


    【解决方案1】:

    有可能,调试工具包被加载了两次。请参阅 bootstrap.php 配置文件。如果有删除它,因为在 3.6 中正在加载 Application.php

    【讨论】:

      猜你喜欢
      • 2014-06-26
      • 2022-01-11
      • 2019-02-27
      • 2011-10-13
      • 1970-01-01
      • 2022-10-05
      • 2017-12-30
      • 2021-07-21
      • 1970-01-01
      相关资源
      最近更新 更多