Флажок Laravel отмечен вопросом - PullRequest
0 голосов
/ 25 мая 2018

Я использую привязку модели формы, и у меня есть поле флажка в моей форме редактирования.

       <div class="form-group">
            <div class="form-check">
                {!! Form::checkbox('is_played', 1, $game->is_played === 1 ? true : false, ['id' => 'is-game-played-check', 'class' => 'form-check-input', 'autocomplete' => 'off']) !!}
                <input type="hidden" name="is_played" value="0">
                <label class="form-check-label" for="is-game-played-check">
                    IS played ?
                </label>
            </div>
        </div>

Когда я прихожу к своему виду редактирования, все остальные поля формы заполняются без проблем, нофлажок не проверяется, когда условие $game->is_played === 1 гарантировано.Я также заметил, что когда я обновляю страницу, флажок проверяется, если условие $game->is_played === 1 обеспечивается.

Я также пытался использовать HTML вместо помощников форм Laravel, и снова это работало без проблем.

<input id="is-game-played-check" class="form-check-input" {{ $game->is_played === 1 ? 'checked' : '' }} name="is_played" type="checkbox"value="1">

В чем здесь проблема?

Буду признателен за любую помощь.

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Попробуйте:

<input id="is-game-played-check" class="form-check-input" {{ ($game->is_played === 1) ? 'checked' : '' }} name="is_played" type="checkbox" value="1">

Просто добавьте ().

0 голосов
/ 25 мая 2018

$a === $b возвращает true, если $a равно $b и они одного типа.в этом случае $game->is_played === 1 возвращает false, потому что $game->is_played не является типом целого числа, как 1

Таким образом, решение состоит в том, чтобы использовать == вместо ===

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...