Cakephp SQL转储不显示查询

时间:2012-02-15 21:20:44

标签: cakephp

由于某种原因,我的cakephp应用程序没有显示对数据库的任何查询。它打印表很好,但没有记录。什么可能导致这种情况?

4 个答案:

答案 0 :(得分:2)

检查以确保正确拉动记录。

$models = $this->Model->find('all');
// or
$this->Model->recursive = 0;
$this->set('models', $this->paginate());

然后,当您在视图中添加它们时,请确保正确循环它们:

foreach ($models as $model) {
    echo $model['Model']['field_name'];
}

<强>更新

要显示SQL语句,请确保在core.php中设置了以下内容

Configure::write('debug', 2);

此外,在布局中,请确保您在<body></body>代码之间加入了某人:

<?php echo $this->element('sql_dump'); ?>

答案 1 :(得分:0)

我假设您正在获取一个只有“Nr”,“Query”,“Error”等列标题的空表?

你得到的是空表,因为你有“Configure :: write('debug',0);”在你有“Configure :: write('debug',2)之前设置某个地方;”组。找到它的第一个实例并删除它或将其更改为“2”。

我知道你早就解决了这个问题,但希望将来可以帮助其他人。

答案 2 :(得分:0)

CakePHP debug kit可以帮到你。安装后,您会注意到CakePHP页面右上角有一个小(饼图)图标。单击它将允许您查看各种有用的信息,最重要的是针对此问题,在页面加载时在后端发生的所有SQL查询。

答案 3 :(得分:0)

我在cakephp遇到了类似的问题。我发现debug($ variable)对内容大小有限制。由于您从数据库中获取大尺寸内容,因此无法打印。尝试改为使用print_r($ variable)。要正确格式化,你可以这样做

echo "<pre>".print_r($variable)."</pre>";