Почему вы хотите сохранить его в пользовательском формате, который не определен в вашей базе данных? Неправильная идея на мой взгляд.
Правильное решение по мне :
Я сделаю предположение, что вы храните дату и время в базе данных MySQL как значение TimeStamp со значением по умолчанию null
. Примерно так:
$table->timestamp('your-date-column')->nullable();
При попадании в метод контроллера:
public function yourControllerMethod(Request $request)
{
// Don't forget to import the Carbon namespace
$dateTime = Carbon::parse($request->your_datetime_field);
$request['your_datetime_field'] = $dateTime->format('Y-m-d H:i:s');
}
При получении your_datetime_field
, проанализируйте его как экземпляр Carbon
по умолчанию, используя вот так:
test.php
/**
* The dates that will be mutated to Carbon instance.
*
* @return array
*/
protected $dates = [
'your_datetime_field',
];
Теперь, когда вы преобразовали поле в экземпляр Carbon во время выполнения, вы можете редактировать формат даты и времени в соответствии с вашими требованиями.
Не правильное решение:
Предупреждение, я не проверял это, но я думаю, что это должно работать ..
Если вы все еще хотите сохранить его как пользовательский формат в поле базы данных, сохраните его как строковый формат со значением по умолчанию null
.
$table->string('your-date-column')->nullable();
А затем приведите его к типу datetime во время выполнения.
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'your_datetime_field' => 'datetime:Y-m-d',
];
Опять же, я бы порекомендовал не идти в неправильном направлении, если вы не знаете, что делаете и каковы последствия.
Вы поняли.