Php 将动态创建的复选框值存储在Laravel中的另一个表中

Php 将动态创建的复选框值存储在Laravel中的另一个表中,php,mysql,database,laravel,checkbox,Php,Mysql,Database,Laravel,Checkbox,我使用以下代码从一个表中动态生成复选框: {!! Form::open(['url' =>URL::to('admin/user/'.$profileUser->id) , 'method'=>'PUT', 'enctype'=>'multipart/form-data' ]) !!} @foreach ($userRoles as $key => $userRole) <tr&g

我使用以下代码从一个表中动态生成复选框:

{!! Form::open(['url' =>URL::to('admin/user/'.$profileUser->id) , 'method'=>'PUT', 'enctype'=>'multipart/form-data' ]) !!}
                    @foreach ($userRoles as $key => $userRole)
                    <tr>
                        <td width="10%">{{ Form::label($userRole->name) }}</td>
                        <td>{{ Form::checkbox( 'rolename[]', $userRole->id) }}</td>
                    </tr>
                    @endforeach
                    <tr>{{ Form::submit('Save', array('class' => 'btn', 'name' => 'roleSubmit')) }}</tr>
            </tbody>
            {{ Form::close() }}
我需要从“角色”表中动态生成多个复选框

并显示如下:

然后我需要将复选框值存储在“role\u users”中,如下所示:

相反,对于上面的代码片段,我得到以下信息:

有没有我弄乱它的指南?

试试看

if (isset($_POST['roleSubmit'])){
    DB::table('role_users')->where('user_id', $request->get('id', $id))->delete();


    $userRole = $request->input('rolename');
    foreach($userRole as $role){
        DB::table('role_users')->insert(
           array(
             'user_id' => $id,
             'role_id' => $role
           )
        );
    }
    return redirect()->back();
}
每2次请求

控制器

$RoleByUser = DB::table('role_users')
                  ->where('user_id', $user_id)
                  ->get()
                  ->pluck('role_id')
                  ->ToArray();
刀片


哪部分不起作用?非常感谢!:)这很有意义,解决了这个问题。我想知道您是否可以帮助我了解如何显示根据“角色”表中的值标记或未标记的“角色”生成的复选框。添加了更改。
$RoleByUser = DB::table('role_users')
                  ->where('user_id', $user_id)
                  ->get()
                  ->pluck('role_id')
                  ->ToArray();
{{ Form::checkbox( 'rolename[]', $userRole->id, (in_array($userRole->id, $RoleByUser)) ? true : false) }}