用 cakephp 開發中會遇到save()
保存不成功又沒有報錯的問題,這時save()
會返回false
,但沒有提示信息,很難排查問題,這時可通過invalidFields()
定位數據保存失敗的原因。php 示例代碼如下:
$save_model_res = $this->Model->save($datas);
echo '<pre>';
var_dump($save_model_res);
echo '</pre>';
echo '<pre>';
print_r($this->Model->invalidFields());
echo '</pre>';
exit;
這個方法主要是針對有字段驗證的model
在保存數據時字段驗證沒有通過的問題,如果在特定條件下不需要進行字段驗證了可以通過validate
參數去設置。php 示例代碼如下:
$save_model_res = $this->Model->save($datas, ['validate' => false]);
echo '<pre>';
var_dump($save_model_res);
echo '</pre>';
exit;