大家好,我正在使用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'] = '';
}
}
这是检查输入数据日期格式的功能现在这是我的 config 文件夹中的文件,名为 quickadmin ,我将向您显示其代码< / p>
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
,它仍然显示错误
答案 0 :(得分: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
您的日期输入和设置属性值看起来像相同的格式
答案 1 :(得分:0)
您能否尝试覆盖YourModel
中的默认格式,如下所示:
class YourModel extends Model {
protected $dateFormat = 'Y-m-d'; // add your date format
}