У меня есть колонка в моей модели бронирования, которая хранит дату в reservation_datetime
, однако в моих формах я разделил это на два отдельных поля (дата & временных входов html5).Использование мутатора в Laravel для заполнения столбца
Я создал мульфильмер сеттера для хранения даты, полученной из двух входов, однако ничто не сохраняется в столбце reservation_datetime
при вставке записи.
Это мой мутатор
public function setReservationDatetimeAttribute($value)
{
return $this->attributes['reservation_datetime'] = $this->date . " " . $this->time;
}
Я заметил, что если я ставлю псевдо входы в мою $fillable
массив (reservation_datetime
уже присутствует), то я могу установить мутатор правильное значение, но это вызывает другие проблемы, когда ORM пытается сохранить столбцы date
и time
, которые, очевидно, не существуют, вызывая ошибку при сохранении.
Мутаторы являются неправильным инструментом для этого. Установите 'reserve_datetime' вручную в свой контроллер. –
Не могли бы вы объяснить, почему это неправильная функция? Я понимаю, что это именно то, что используется мутатором. – Imran
Мутаторы должны использоваться по-другому. Если ваша форма имеет одно поле, которое вы хотите разделить на две части, или просто измените значение одного атрибута. Сочетание двух атрибутов в одном - это просто не то, что касается мутаторов. –