模型日期规则在保存时无效



>我在尝试使用 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',或者你可以使用另一种格式,所以你必须看看它是你需要更改的规则还是参数。

相关内容

最新更新