我正在使用表单模型绑定,我的编辑表单中有一个复选框字段。
<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">
这里有什么问题?
任何帮助都将不胜感激。
答案 0 :(得分:0)
$a === $b
等于true
并且它们属于同一类型,则 $a
会返回$b
。
在这种情况下,$game->is_played === 1
返回false,因为$game->is_played
不是整数类型1
因此解决方案是使用==
代替===
答案 1 :(得分:-1)
试试这个:
<input id="is-game-played-check" class="form-check-input" {{ ($game->is_played === 1) ? 'checked' : '' }} name="is_played" type="checkbox" value="1">
只需添加()
。