我在保存数据时遇到了一些麻烦。
要知道什么是错的,我想在我的控制器中使用debug($var)
或debug($this->myModel->validationErrors);
,但它似乎没有给出任何回复。
我的情况是将一些数据发布到同一页面并保存数据
//my controller
if ($this->request->is('post')){
debug($this->request->data);
//here everything breaks with the message "Error: An Internal Error Has Occurred."
if($this->Invoice->save($this->request->data)){
$this->Session->setFlash('Good job, invoice is saved');
}
debug($this->Invoice->validationErrors);
}
在视图结束时,我没有任何回应来显示调试,因为我还没有找到确实这样做的来源。
答案 0 :(得分:2)
使用cakephp debugkit插件
https://github.com/cakephp/debug_kit
您也可以使用
进行配置Configure::write('debug', 2);
尝试使用
打印输出debug($data);
pr($data);
答案 1 :(得分:2)
代码中的某处必须将调试模式设置为0,例如: -
Configure::write('debug', 0);
。
它可能在app_controller或任何地方,因为它在你的控制器中不起作用。
尝试在控制器中设置Configure::write('debug', 1);
以利用此功能。
debug($this->Invoice->validationErrors);
答案 2 :(得分:0)
在Core.php文件中将调试级别设置为2
Configure::write('debug', 2);
或者修改数据库连接以确保启用编码,默认情况下将其注释掉
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'password',
'database' => 'test',
'prefix' => '',
'encoding' => 'utf8',
);
答案 3 :(得分:0)
尝试:
debug($this->request->data); die();