当我尝试使用laravel中的datepicker更新日期字段时,在数据库中更新空白日期

时间:2017-04-11 05:13:34

标签: php jquery laravel laravel-5 datepicker

当我尝试使用带有jquery datapicker的日期字段更新我的表单时,它会在我的数据库中存储空值,因此日期字段未在我的表单中更新..我在数据库中使用日期数据类型作为日期字段..

我在html字段中添加了这个

<input type="text" id="datepicker" value="{{ old('datetime', $site->datatime) }}" name="datatime">

这是我的控制器

$site->update([
            'name'=>$request['name'],
            'copyright'=> $request['copyright'],
            'is_active'=>$request['status'] == 'true' ? 1 : 0,
            'message'=>$request['message'],
            'datatime'=>$request['datetime'],
            'url'=>$request['url'],
            'metadata'=>$request['metadata']

        ]);

2 个答案:

答案 0 :(得分:1)

这很可能是由于date格式错误造成的。 Mysql接受YYYY-MM-DD 对于日期格式。你可以使用日期e.x

$site->update([
        'name'=>$request['name'],
        'copyright'=> $request['copyright'],
        'is_active'=>$request['status'] == 'true' ? 1 : 0,
        'message'=>$request['message'],
        'datatime'=> date('Y-m-d', strtotime($request['datetime'])),
        'url'=>$request['url'],
        'metadata'=>$request['metadata']

    ]);

答案 1 :(得分:0)

<input type="text" id="datepicker" value="{{ old('datatime', $site->datatime) }}" name="datatime">

您的表单输入名称为&#34; datatime&#34;并将日期打印为日期时间。尝试上面的代码和一件事数据库支持 YYYY-DD-MM HH:MM:SS 格式。