>我在尝试使用 not Add 方法将数据保存在数据库中时遇到问题,我的保存代码如下:
$this->loadModel('PlanRequest');
$planRe = array(
'PlanRequest'=>array(
'booking'=>$book,
'user_id'=>$user['id'],
'plan_id'=>$plid,
'request_date'=>$date->format('d/m/Y h:i:s A'),
'number_of_rooms'=>$troom,
'number_of_rooms_child'=>$troom2
));
$this->PlanRequest->create();
$this->PlanRequest->save($planRe);
我很确定这是正确的方法,但它不起作用,我也没有收到任何错误消息,我错过了一些重要的东西吗?
编辑
pr($this->PlanRequest->validationErrors)
谢谢修女! 我从我的模型中收到以下错误:
Array
(
[request_date] => Array
(
[0] => Insert a valid date
)
)
在模型中,验证非常简单
'request_date'=>array(
'rule'=>'date',
'required'=>true,
'message'=>'Insert a valid date'
)
尽管你的规则很简单,但它是导致问题的那个。这是你的规则
'request_date'=>array(
'rule'=>'date',
'required'=>true,
'message'=>'Insert a valid date'
)
您没有传递任何格式参数,因此根据文档,默认日期格式为"ymd"
如果未提供键,将使用的默认键为"ymd":例如 2006-12-27 或 06-12-27(分隔符可以是空格、句点、短划线、正斜杠)
所以,你需要修改这个
'request_date'=>$date->format('d/m/Y h:i:s A'),
以调整为默认日期规则,或更改规则以调整到您的值(使用规则的第二个和/或第三个参数)。例:
'request_date'=>array(
'rule'=> array('date', 'my'),
'required'=>true,
'message'=>'Insert a valid date'
)
(例如,接受日期 06/12)。我不知道你是否需要这种格式'd/m/Y h:i:s A',或者你可以使用另一种格式,所以你必须看看它是你需要更改的规则还是参数。