【发布时间】:2016-04-28 11:58:16
【问题描述】:
我知道有几个链接提到了这个错误,但我仍然无法找到我的问题的确切解决方案。我有两个复选框,名为 admin_menu_id[] 和 admin_sub_menu_id[] 我想将其值插入数据库。到目前为止,我已经这样做了:-
查看页面
@if(is_array($roledatas) && count($roledatas)>0)
<?php $count = 1;?>
@foreach($roledatas as $roleKey=>$roleVal)
<ul id="package_{{ $count }}" class="accordion-toggle parentclasstr" data-toggle="collapse" data-parent="#OrderPackages" data-target=".packageDetails{{ $count }}">
<li><input type="checkbox" id="menuChk" value= "<?php echo $id = $roleVal['id']; ?>" name="admin_menu_id[]" /><strong>{{ $roleVal['name'] }}</strong></li>
<li><i class="indicator glyphicon glyphicon-chevron-up pull-right"></i></li>
@if(isset($roleVal['child']) && is_array($roleVal['child']) && count($roleVal['child'])>0)
@foreach($roleVal['child'] as $childKey=>$childVal)
<ul class="hiddenRow collapse packageDetails{{ $count }}" bgcolor="#C1C1C1">
<li><input type="checkbox" id="submenuChk" value="<?php echo $id = $childVal['id']; ?>" name="admin_sub_menu_id[]" />{{ $childVal['name'] }}</li>
<li></li>
</ul>
@endforeach
@endif
</ul>
<?php $count++; ?>
@endforeach
@endif
控制器:-
$data = $request->all();
$user_type_id = $data['user_type_id'];
$admin_menu_id = $data['admin_menu_id'];
$admin_sub_menu_id = $data['admin_sub_menu_id'];
for ($i = 0; $i < count($data['admin_sub_menu_id']); $i++)
{
$role = new RoleMenu;
$role->user_type_id = $user_type_id;
$role->admin_menu_id = $admin_menu_id[$i];
$role->admin_sub_menu_id = $admin_sub_menu_id[$i];
$role->save();
}
当我选中一个 admin_menu_id 复选框和一个 admin_sub_menu_id 复选框时,它会插入数据,但是当我尝试选中多个复选框时,它会引发未定义偏移的错误。 我对 laravel 和这些数组游戏完全陌生!请帮我解决这个问题。
【问题讨论】:
-
谁能帮我解决这个问题?我真的被困住了。
-
"Undefined offset: 1" 表示数组有问题
-
你能说明你是如何从控制器中取出 $roledatas 数组的吗?