由于某种原因,我的cakephp应用程序没有显示对数据库的任何查询。它打印表很好,但没有记录。什么可能导致这种情况?
答案 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>";