Привязка модели формы в 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 ответ

Решение

В соответствии с документацией о привязке модели формы

Итак, приоритет выглядит так:

  1. Данные сеанса Flash (старый ввод)
  2. Явно переданное значение
  3. Данные атрибута модели

Обратите внимание, что явно переданное значение, по-видимому, не является запасным вариантом по умолчанию, а является фактическим значением, которое будет использоваться, если оно будет предоставлено (независимо от модели). Поэтому, похоже, это и есть предполагаемое поведение.

Обновление: как обсуждалось в комментариях, решение, позволяющее использовать запасные значения в случае, когда нет установленной модели, должно использовать:

{{ Form::checkbox('active', 'Yes', isset($client)?null:true) }}
Другие вопросы по тегам