У меня есть поля start_date
и end_date
на одной из моих моделей.
В течение некоторого времени мы сохраняли эти свойства как Carbon
даты без использования свойства $dates
:
start_date: {
date: "2016-09-28 00:00:00.000000",
timezone_type: NumberLong("1"),
timezone: "-04:00"
},
end_date: {
date: "2016-09-30 00:00:00.000000",
timezone_type: NumberLong("1"),
timezone: "-04:00"
}
Я хотел бы использовать свойство $dates
в Laravel и преобразовать их в Carbon
даты.
Однако Laravel не оценит, когда я просто добавлю их всвойство:
protected $dates = ['start_date', 'end_date'];
А затем попытайтесь преобразовать их:
foreach($models as $model) {
$model->start_date = new Carbon($model->start_date);
$model->end_date = new Carbon($model->end_date);
$model->save();
}
При возникновении ошибки на Accesssor:
exception: "ErrorException"
file: "/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php"
line: 760
message: "preg_match() expects parameter 2 to be string, array given"
Есть мысли?