嗨伙计们我正在使用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
它仍然显示错误
你的配置: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
您的日期输入和设置属性值看起来像是相同的格式
您可以尝试覆盖YourModel
中的默认格式,如下所示:
class YourModel extends Model {
protected $dateFormat = 'Y-m-d'; // add your date format
}