我想在客户端表中插入一个日期,我的数据库模式如下,我想把它们插入到start_day和end_day字段中。
我在ClientController.php中进行了以下验证
如果我插入一个不同于下面定义的外部date_format,我会抛出一个错误,但如果我确实插入了正确的the,它将恢复为0000-00-00。但是,例如,如果我将字段type更改为text,则插入的date_format是正确的。
$rules = array(
'project_name' => 'required',
'project_brief' => 'required',
'start_day' => array('required', 'date_format:"m-d-Y"'),
'end_day' => array('required', 'date_format:"m-d-Y"')
);老实说,我不确定问题出在哪里。我甚至尝试过转换时间,如下所示:
$start_day_old = Input::get('start_day');
$start_day = date("d-m-Y", strtotime($start_day_old));
$project = new Project;
$project->start_day = $start_day
$project->save();然而,结果是相同的。有人知道我该如何纠正这个问题吗?

发布于 2013-11-17 00:45:17
您不能在mysql的date字段中插入格式为dd-mm-yyyy的日期,它应该是yyyy-mm-dd,因此在您的代码中
$start_day = date("d-m-Y", strtotime($start_day_old));将其更改为
$start_day = date("Y-m-d", strtotime($start_day_old));因此,如果日期为15-10-2010,则它将变为2010-10-15,并且它是mysql数据库中date字段的有效日期。
https://stackoverflow.com/questions/20020471
复制相似问题