Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.09.2015 11:26:04

Form checkbox

Почему, если выводить поле типа boolean чекбоксом:

{!! Form::checkbox('check') !!}

А в форме убрать чекбокс, то поле не возвращает разрешенные значения: true, false, 1, 0, "1" и "0", а становится null и отсутствует в request.
Из за этого приходится писать лишние строки в контроллере на проверку присутствия поля в request, вместо стандартной request->all().
Как поправить код, чтобы когда галочка убиралась с чекбокса, то возвращалось: true, false, 1, 0, "1" или "0"?

Не в сети

#2 16.01.2017 13:34:14

Re: Form checkbox

Тоже столкнулся с данной бедой, можно как-нибудь красиво в ларе избавиться от проверки?

        $data = $request->input();
        if(empty($data['is_menu'])) {
            $data['is_menu'] = false;
        }
        ServiceCategory::create($data);

Не в сети

#3 16.01.2017 19:07:14

Re: Form checkbox

можно

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)

Не в сети

Подвал раздела