【问题标题】:Form update empty date in database when i try to update date field using datepicker in laravel当我尝试在 laravel 中使用 datepicker 更新日期字段时,表单更新数据库中的空日期
【发布时间】:2017-09-06 07:52:58
【问题描述】:

当我尝试使用具有 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']

        ]);

【问题讨论】:

  • datepicker 使用什么日期格式?
  • mm/dd/year 我没有使用任何特定的日期格式,我使用默认日期 pciker 格式

标签: php jquery laravel laravel-5 datepicker


【解决方案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']

    ]);

【讨论】:

    【解决方案2】:
    <input type="text" id="datepicker" value="{{ old('datatime', $site->datatime) }}" name="datatime">
    

    您的表单输入名称是“数据时间”,并且您将日期打印为日期时间。试试上面的代码和一件事数据库支持 YYYY-DD-MM HH:MM:SS 格式。

    【讨论】:

    • 是的,我现在更改了输入名称...如果数据库支持 YYYY-DD-MM 格式,我如何更改输入字段中的格式
    • for date = date('Ym-d', strtotime($request['datetime'])) , for datetime date('Ymd H:i:s', strtotime($request['日期时间'])),
    猜你喜欢
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多