【发布时间】:2019-02-24 04:28:50
【问题描述】:
每个用户都应该有一个角色(只有一个)。为此,我使用 Spaties laravel-permission 包。
我在编辑和创建用户表单时使用了一堆单选按钮,您应该能够在其中为用户选择角色。我让它与复选框一起使用,但目前您可以选择多个复选框,从而为一个用户添加多个角色。现在我尝试使用单选按钮,它可以工作,但没有预先选择按钮。
这是我的复选框代码:
@foreach ($roles as $role)
@role('administrator')
{!! Form::checkbox('roles[]', $role->id) !!}
{!! Form::label($role->name, ucfirst($role->name)) !!}<br>
@endrole
@role('manager')
@if(!($role->name == 'administrator'))
{!! Form::checkbox('roles[]', $role->id) !!}
{!! Form::label($role->name, ucfirst($role->name)) !!}<br>
@endif
@endrole
@endforeach
这里是我的单选按钮代码:
@foreach ($roles as $role)
@role('administrator')
{!! Form::radio('roles[]', $role->id) !!}
{!! Form::label($role->name, ucfirst($role->name)) !!}<br>
@endrole
@role('manager')
@if(!($role->name == 'administrator'))
{!! Form::radio('roles[]', $role->id) !!}
{!! Form::label($role->name, ucfirst($role->name)) !!}<br>
@endif
@endrole
@endforeach
【问题讨论】:
-
创建一个选中的单选按钮。我认为您需要传入第三个参数。见这里laravelcollective.com/docs/5.4/…
-
是的,我知道,但在我的复选框示例中,Laravel 是通过表单模型绑定为我完成的。单选按钮也应该可以,对吧?
-
如果他们只能有 1 个角色,您为什么要尝试使用表单输入创建一个数组?
roles[]是一个数组(许多值).. 也许role会更好,单个值? -
你是对的,我使用控制器中的数组将用户与角色相关联,因为我之前可以选择多个角色。现在,我将控制器更改为仅使用一个选定的角色并将其与用户相关联,这样就可以了。但我仍然无法让它自动预选。
标签: php html laravel forms radio-button