Привязка модели формы в Laravelcollective, установленный по умолчанию флажок никогда не отображается непроверенным
Laravel 5.5, Laravelcollective 5.4
На моей странице редактирования флажок всегда отображается галочкой, независимо от состояния в базе данных. (Подтвердили, что работает должным образом, без проверки по умолчанию.)
Я использую те же поля формы для моего маршрута создания, и хотел бы, чтобы по умолчанию была отмечена галочка.
{{ Form::model($client, ['route' => ['clients.update', $client->id], 'method' => 'patch']) }}
{{ Form::checkbox('active', 'Yes', true) }}
{{ Form::close() }}
1 ответ
В соответствии с документацией о привязке модели формы
Итак, приоритет выглядит так:
- Данные сеанса Flash (старый ввод)
- Явно переданное значение
- Данные атрибута модели
Обратите внимание, что явно переданное значение, по-видимому, не является запасным вариантом по умолчанию, а является фактическим значением, которое будет использоваться, если оно будет предоставлено (независимо от модели). Поэтому, похоже, это и есть предполагаемое поведение.
Обновление: как обсуждалось в комментариях, решение, позволяющее использовать запасные значения в случае, когда нет установленной модели, должно использовать:
{{ Form::checkbox('active', 'Yes', isset($client)?null:true) }}