cakephp 1.3 save()返回true但数据库中没有保存

时间:2015-01-27 12:51:22

标签: php mysql cakephp

运行cakephp 1.3,我尝试在数据库中插入一个新条目,save()返回true,但没有保存任何内容。我无法在mysql日志中选择任何内容,也没有记录验证错误。这是我的代码:

控制器:

function add_action(){
$this->layout = 'ajax';
$this->autoRender = false;

if ($this->params) {
  echo json_encode($this->params);
}

date_default_timezone_set('Africa/Johannesburg');

$form_data = $this->params['form'];
$data = Array(
  'ActionLists' => Array(
    'name' => $form_data['action_name'],
    'creation_date' => date('Y-m-d'),
    'status' => 1,
    'creator' => 'admin',
    'description' => $form_data['action_description']
  )
);
$this->log($data);
if( $this->ActionList->add_action($data)){
  $this->header('HTTP/1.1 200 OK');
}
else{
  echo json_encode('Not worked');
}
}

型号:

 public function add_action($data){
 $this->create();
 $outcome = $this->save($data);
 $this->log($this->validationErrors); 
   if( $outcome){
     return true;
   }
   else{
     return false;
   }
 }

1 个答案:

答案 0 :(得分:0)

首先,您应该在save语句之后为SQL语句运行以下命令。

$log = $this->Model->getDataSource()->getLog(false, false);
debug($log);

您会看到在Model save期间执行的确切sql语句。 由于属性长度不足,表格中很可能出现问题。