Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Почему, если выводить поле типа boolean чекбоксом:
{!! Form::checkbox('check') !!}
А в форме убрать чекбокс, то поле не возвращает разрешенные значения: true, false, 1, 0, "1" и "0", а становится null и отсутствует в request.
Из за этого приходится писать лишние строки в контроллере на проверку присутствия поля в request, вместо стандартной request->all().
Как поправить код, чтобы когда галочка убиралась с чекбокса, то возвращалось: true, false, 1, 0, "1" или "0"?
Не в сети
Тоже столкнулся с данной бедой, можно как-нибудь красиво в ларе избавиться от проверки?
$data = $request->input();
if(empty($data['is_menu'])) {
$data['is_menu'] = false;
}
ServiceCategory::create($data);
Не в сети
xml<input type="hidden" name="is_menu" value="0"> <input type="checkbox" name="is_menu" value="1">
результат — если чекбокс стоит получаем 1, если не стоит получаем 0
а ещё можно пользоваться тем что большинство get-теров в ларавеле принимают значение по умолчанию для случаев когда значения не задано. это значит что PHP(bool)$request->get('is_menu', false)
всегда вернёт либо true либо false (если конечно value на чекбоксе кастуется в булевый тип как true)
Не в сети
Страницы 1