Я создаю форму публикации с необязательным полем даты, и я сделал мутатор, чтобы сделать дату NULL в базе данных, когда она не введена в форму.
Форма в create.blade.php
<div class="form-group {{ $errors->has('published_at') ? 'has-error' : '' }}">
{!! Form::label('published_at', 'Publish date') !!}
{!! Form::text('published_at', null, ['class' => 'form-control', 'placeholder' => 'Y-m-d H:i:s']) !!}
@if($errors->has('published_at'))
<span class="help-block">{{ $errors->first('published_at') }}</span>
@endif
</div>
Мутатор в Post.php:
public function setPublishedAtAttribute($value)
{
$this->attributes['published_at'] = $value ?: NULL;
}
Функция сохранения в контроллере:
$this->validate($request, [
'title' => 'required',
'slug' => 'required|unique:posts',
'body' => 'required',
'published_at' => 'date_format:Y-m-d H:i:s',
'category_id' => 'required'
]);
Я ожидаю, что дата будет NULL в базе данных, если она не введена в форму, но я получаю ошибку проверки в форме «Опубликованное в не соответствует формату Y-m-d H: i: s». и он не будет отправлен