Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库中的laravel 5.4表单下拉列表_Php_Database_Forms_Laravel_Dropdown - Fatal编程技术网

Php 数据库中的laravel 5.4表单下拉列表

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

我想从数据库中获取下拉选项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)
            <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=>“管理员”]}不清楚。请通过此调试结果以良好的格式显示图像或更新您的问题。