Php 数据库中的laravel 5.4表单下拉列表
我想从数据库中获取下拉选项value&name,这样我的控制器代码Php 数据库中的laravel 5.4表单下拉列表,php,database,forms,laravel,dropdown,Php,Database,Forms,Laravel,Dropdown,我想从数据库中获取下拉选项value&name,这样我的控制器代码 $roles = Role::pluck('role','user_id'); return view('users.add_role',compact('roles')); 要从下拉列表中获取此数据,我的视图文件代码为 <select name="role" class="form-control" > @foreach($roles as $role) <o
$roles = Role::pluck('role','user_id');
return view('users.add_role',compact('roles'));
要从下拉列表中获取此数据,我的视图文件代码为
<select name="role" class="form-control" >
@foreach($roles as $role)
<option value="{{ $role->user_id }} "> {{ $role->role }} </option>
@endforeach
</select>
如果我只使用
<select name="role" class="form-control" >
@foreach($roles as $role)
<option value="{{ $role }} "> {{ $role }} </option>
@endforeach
</select>
@foreach($roles作为$role)
{{$role}}
@endforeach
然后显示表的role列,但不将选项值传递给数据库。那么,从数据库生成选项值和名称的正确方法是什么呢?您的
$roles
变量包含一个如下所示的数组
[0] => 'your_role'
[1] => 'your_role'
其中是0,1索引是用户id。因此您的用户id
被设置为$roles
数组的索引。只需执行dd($roles)
并检查输出$键作为$role将起作用。其中$key将包含用户id
@foreach($roles as $key => $role)
<option value="{{ $key }} "> {{ $role }} </option>
@endforeach
@foreach($key=>$role的角色)
{{$role}}
@endforeach
您的$roles
变量包含一个如下所示的数组
[0] => 'your_role'
[1] => 'your_role'
其中是0,1索引是用户id。因此您的用户id
被设置为$roles
数组的索引。只需执行dd($roles)
并检查输出$键作为$role将起作用。其中$key将包含用户id
@foreach($roles as $key => $role)
<option value="{{ $key }} "> {{ $role }} </option>
@endforeach
@foreach($key=>$role的角色)
{{$role}}
@endforeach
我使用laravel collective软件包生成下拉列表更容易,
您可以在刀片模板上执行以下操作,它将为您呈现列表
{{Form::select('role',$role))}我使用laravel collective包生成下拉列表更容易, 您可以在刀片模板上执行以下操作,它将为您呈现列表
{{Form::select('role',$role))}dd($roles)并显示刚刚选中的输出,它只传递role列数据,而不是user_id columnPluck只返回1列。如果传入2个变量,它将更改数组键的名称。()@Masum分享你的角色表结构。我怀疑您的角色表中是否有用户id列。由于用户角色主要存储在透视表中。是的,在这个项目中,我没有使用透视表,用户id字段位于roles tabledd($roles)下,并显示outputjust checked,它只传递角色列数据,而不是用户id ColumnPulk只返回1列。如果传入2个变量,它将更改数组键的名称。()@Masum分享你的角色表结构。我怀疑您的角色表中是否有用户id列。由于用户角色主要存储在透视表中。是的,在这个项目中我没有使用透视表,用户id字段位于roles tablenot works下,它只传递role列,只是通过返回dd($roles)进行检查;集合{90▼ #项目:阵列:2[▼ 1=>“管理员”0=>“管理员”]}不清楚。请通过此调试结果以良好的格式显示图像或更新您的问题。不起作用,它仅通过角色列,仅通过返回dd($roles)进行检查;集合{90▼ #项目:阵列:2[▼ 1=>“管理员”0=>“管理员”]}不清楚。请通过此调试结果以良好的格式显示图像或更新您的问题。