首页 > 解决方案 > 在 Laravel Blade 中选择布尔类型

问题描述

我在 mysql 数据库中有一个用于用户的标志“活动”,此列是布尔类型。如果用户被激活,我想从管理员帐户创建一个选择选项以选择 True/False。所以在我的用户信息编辑/创建表单中,我有:

<div class="form-group{{ $errors->has('active') ? ' has-error' : '' }}">
    <label>Is user active?</label>
    <select class="form-control" name="active" id="active">
        @if (old('active') == $user->active)
            <option value="1" selected>True</option>
        @else
            <option value="0">False</option>
        @endif
    </select>
</div>

问题是,如果用户通过 PHPMyAdmin 参数更改激活,则仅显示“True”没有“false”选项,如果用户我以与上述相同的方式停用,则仅显示“False”选项。请帮助了解如何列出所有选项(真/假)并默认选择先前选择的选项,以便编辑应该起作用。

标签: phplaravellaravel-blade

解决方案


尝试将您的 HTML 更改为以下内容:

<div class="form-group{{ $errors->has('active') ? ' has-error' : '' }}">
    <label>Is user active?</label>
    <select class="form-control" name="active" id="active">
        <option value="1" @if (old('active') == 1) selected @endif>True</option>
        <option value="0" @if (old('active') == 0) selected @endif>False</option>
    </select>
</div>

您应该检查用户之前选择的值。然后使用该值来选择值。但是,在答案中,我没有设置您应该注意的默认值。


推荐阅读