0

こんにちは、管理パネルから役割に権限を割り当てられるようにしたいのですが、各役割の権限を取得していますが、それらを保存できず、 写真を見ることができません 。ボックスにチェックを入れて、チェックボックスをデータベースと同期させて、権限を取得します。これは私の見解です:

 {!! Form::open(['route' => 'permission.save']) !!}

    <div class="content table-responsive table-full-width">
        <table class="table">
            <thead>
                <tr>
                    <th>Name</th>
                    @foreach($roles as $role)
                        <th>{{ $role->display_name }}</th>
                    @endforeach
                    <th>Actions</th>
                </tr>
            </thead>
            <tbody id="tables">
                @if(count($permissions))
                    @foreach($permissions as $permission)
                        <tr>
                            <td>{{ $permission->display_name ?: $permission->name }}</td>
                            @foreach($roles as $role)
                                <td>
                                    {!! Form::checkbox("roles[{$role->id}][]", $permission->id, $role->hasPermission($permission->name)) !!}
                                </td>
                            @endforeach
                            <td class="td-actions ">
                            <a style="height: 40px; width: 40px;" class=" remove btn btn-icon btn-danger">
                                <i style="margin-top: 3px;" class="fa fa-remove"></i>
                            </a>

                        </td>
                        </tr>
                    @endforeach
                @endif
            </tbody>
        </table>

        <button type="submit" class="btn btn-primary">Save</button>
    </div>
    {!! Form::close() !!}

これが私のコントローラーです

    public function saveRolePermissions(Request $request)
{
    $roles = $request->get('roles');
    $allRoles = $this->roles->pluck('id');
    // dd($allRoles);
    foreach ($allRoles as $role) {

        $permissions = array_get($roles, $role, []);
        // if (!$role->perms()->get()->contains('id', $permission->id)) {
            $role->attachPermission($permission);
        // }

    }
}
4

0 に答える 0