在我的数据库迁移中,我有一个" dob"字段:
$table->date('DOB')->nullable();
我有一个表示日期的字符串:" 12/12 / 1960"在输入中。我测试了#34; dob"内容就在那里。但是当我尝试将它设置为" dob"数据库中的字段..
$member->DOB = date('m/d/Y',Request::input('dob'));
数据库字段变为0000-00-00
我做错了什么?
答案 0 :(得分:0)
看看定义
字符串日期(字符串格式[,int timestamp])
第二个参数是时间戳,而不是字符串
使用DateTime PHP5函数或Laravel Carbon
E.g。 date_create_from_format(' m / d / Y',Request :: input(' dob')) - >格式(' Y-m-d H:i:s');
答案 1 :(得分:0)
数据库很可能想要YYYY-MM-DD
格式。所以只需改变格式即可。但要从12/12/1960
到达那里,你需要解析它。
$oldDateString = '12/12/1960';
$newDateString = DateTime::createFromFormat('m/d/Y', $oldDateString)->format('Y-m-d');