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!');
}