当日期格式正确并且数据也存储但仍然出现错误时,laravel中的数据缺失错误

问题描述 投票:1回答:2

嗨伙计们我正在使用laravel 5.7同时插入数据即时出现“数据缺失”问题,但数据也插入但仍然在这里收到错误即时共享部分代码

模型

public function setApplicationDateAttribute($input)
{
    if($input != '') {
        $this->attributes['application_date'] = Carbon::createFromFormat(config('quickadmin.date_format'), $input)->format('Y-m-d');
    }else{
        $this->attributes['application_date'] = '';
    }
}

这是检查输入数据的日期格式的功能现在这是我的配置文件夹中名为quick admin的文件我会告诉你它的代码

return [

/**
 * Datepicker configuration:
 */
'date_format'        => 'Y-m-d',
'date_format_jquery' => 'yy-mm-dd',
'time_format'        => 'H:i:s',
'time_format_jquery' => 'HH:mm:ss',

/**
 * Quickadmin settings
 */
'route'              => 'admin',
'homeRoute'          => 'admin',
'defaultRole'        => 1];

现在这里是Controller的代码

$locumApplications = ModelName::create([
               'user_id' => $request->user_id,
               'locum_id' => $request->locum_id,
               'application_date' => $request->application_date
           ]);

它插入数据,但给我错误,如果我删除行'application_date' => $request->application_date它仍然显示错误

在这里我附加了错误图像enter image description here

php laravel php-carbon
2个回答
0
投票

你的配置:config('quickadmin.date_format')Y-m-d

您正在尝试设置属性

Carbon::createFromFormat(config('quickadmin.date_format'), $input)->format('Y-m-d');

你的$input ($request->application_date)必须采用Y-m-d格式

应该工作

\Carbon\Carbon::createFromFormat('Y-m-d', '2019-03-14')->format('Y-m-d') //OP: 2019-03-14

您的日期输入和设置属性值看起来像是相同的格式


0
投票

您可以尝试覆盖YourModel中的默认格式,如下所示:

class YourModel extends Model {
    protected $dateFormat = 'Y-m-d'; // add your date format 
}
© www.soinside.com 2019 - 2024. All rights reserved.