Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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 是否使用不同名称保存多个复选框?(拉雷维尔)_Php_Sql Server_Laravel_Laravel 5 - Fatal编程技术网

Php 是否使用不同名称保存多个复选框?(拉雷维尔)

Php 是否使用不同名称保存多个复选框?(拉雷维尔),php,sql-server,laravel,laravel-5,Php,Sql Server,Laravel,Laravel 5,保存多个名称不同的复选框时出现问题 我拥有菜单的案例创建权限,菜单具有不同的访问权限,如创建、读取、更新、删除等 我尝试使用此代码,但结果无效 这是我的刀片模板 <div class="table-responsive"> <table id="bs4-table" class="table table-striped table-bordered" style="width:100%"> <thead> <

保存多个名称不同的复选框时出现问题

我拥有菜单的案例创建权限,菜单具有不同的访问权限,如创建、读取、更新、删除等

我尝试使用此代码,但结果无效

这是我的刀片模板

<div class="table-responsive">
    <table id="bs4-table" class="table table-striped table-bordered" style="width:100%">
        <thead>
            <tr>
                <th>No</th>
                <th>Menu</th>
                <th>Create</th>
                <th>Read</th>
                <th>Update</th>
                <th>Delete</th>
                <th>Approve</th>
                <th>Export PDF</th>
                <th>Export Excel</th>
            </thead>
            <tbody>
                @foreach ($permission_menus as $permission_menu)
                   <tr>
                       <td>{{ $loop->iteration }}</td>
                       <td>
                           {{ $permission_menu->name }} <input type="checkbox" name="menus_id[]" value="{{ $permission_menu->id }}">
                       </td>
                       <td>
                           <input type="checkbox" name="create_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                       <td>
                           <input type="checkbox" name="read_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                       <td>
                           <input type="checkbox" name="update_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                       <td>
                           <input type="checkbox" name="delete_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                       <td>
                           <input type="checkbox" name="approve_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                       <td>
                           <input type="checkbox" name="export_pdf_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                       <td>
                           <input type="checkbox" name="export_excel_access[]" value="0" onclick="changeFlag(this)">
                       </td>
                   </tr>
               @endforeach
           </tbody>
       </table>
   </div>

有人知道如何解决这个问题吗?

如果您取消选中其中一个菜单项,而没有取消选中该菜单下的所有权限,那么您将得到不一致的结果。您始终可以强制将标识符作为菜单索引:

不 菜单 创造 阅读 使现代化 删去 批准 导出PDF 导出Excel @foreach$permission\u菜单作为$permission\u菜单 {{$loop->iteration} {{$permission\菜单->名称} @endforeach 这样,您可以正确匹配结果:

公共函数storeRequest$request { $this->验证$request[ “用户访问权限”=>“必需”, ], [ 'user_access.required'=>'user harus dipilih!', ]; foreach$request->menus\u id作为$menu\u id { $create\u access=$request->create\u access; $read\u access=$request->read\u access; $update\u access=$request->update\u access; $delete\u access=$request->delete\u access; $approve\u access=$request->approve\u access; $export\u pdf\u access=$request->export\u pdf\u access; $export\u excel\u access=$request->export\u excel\u access; if!设置$create\u access[$menu\u id]{ $create\u access[$menu\u id]=0; } if!设置$read\u access[$menu\u id]{ $read\u access[$menu\u id]=0; } if!设置$update\u访问[$menu\u id]{ $update\u access[$menu\u id]=0; } 如果!设置$delete\u访问[$menu\u id]{ $delete\u access[$menu\u id]=0; } if!设置$approve\u访问权限[$index]{ $approve_access[$index]=0; } if!设置$export\u pdf\u访问[$menu\u id]{ $export\u pdf\u access[$menu\u id]=0; } if!设置$export\u excel\u access[$menu\u id]{ $export\u excel\u access[$menu\u id]=0; } $permission=[ 'menu\u id'=>$menu\u id, “创建访问”=>$create\U访问[$menu\U id], “读取访问”=>$read\u访问[$menu\u id], “更新访问”=>$update\u访问[$menu\u id], “删除访问”=>$delete\u访问[$menu\u id], “批准访问”=>$approve\u访问[$menu\u id], “导出pdf访问”=>$export\U pdf\U访问[$menu\U id], “导出excel\u访问”=>$export\u excel\u访问[$menu\u id], 'user\u id'=>$request->user\u id, 'user\u access'=>$request->user\u access ]; DB::表'permissions'->插入$permission; } return redirect->back->with'success',Hak akses berhasil di set!'; }
注意:不要做if!isset$x[$menu\u id]{$x[$menu\u id]=0;}您可以在$permission数组中执行$x[$menu\u id]??0

您可以发布dd$request->all;这里是dd$请求的结果->全部;
    public function store(Request $request)
    {
        $this->validate($request, [
            'user_access' => 'required',
        ], [
            'user_access.required' => 'User harus dipilih!',
        ]);

        $index = 0;

        foreach($request->menus_id as $menu_id)
        {
            $create_access = $request->create_access;
            $read_access = $request->read_access;
            $update_access = $request->update_access;
            $delete_access = $request->delete_access;
            $approve_access = $request->approve_access;
            $export_pdf_access = $request->export_pdf_access;
            $export_excel_access = $request->export_excel_access;


            if (!isset($create_access[$index])) {
                $create_access[$index] = 0;
            }

            if(!isset($read_access[$index])){
                $read_access[$index] = 0;
            }

            if(!isset($update_access[$index])){
                $update_access[$index] = 0;
            }

            if(!isset($delete_access[$index])){
                $delete_access[$index] = 0;
            }

            if(!isset($approve_access[$index])){
                $approve_access[$index] = 0;
            }

            if(!isset($export_pdf_access[$index])){
                $export_pdf_access[$index] = 0;
            }

            if(!isset($export_excel_access[$index])){
                $export_excel_access[$index] = 0;
            }



            $permission = [
                'menu_id' => $menu_id,
                'create_access' => $create_access[$index],
                'read_access' => $read_access[$index],
                'update_access' => $update_access[$index],
                'delete_access' => $delete_access[$index],
                'approve_access' => $approve_access[$index],
                'export_pdf_access' => $export_pdf_access[$index],
                'export_excel_access' => $export_excel_access[$index],
                'user_id' => $request->user_id,
                'user_access' => $request->user_access
            ];


            DB::table('permissions')->insert($permission);

            $index++;
        }

        return redirect()->back()->with('success', 'Hak akses berhasil di set!');
    }