2016-04-28 2 views
0

Я знаю, что есть несколько ссылок на эту ошибку, но все же я не могу найти точное решение моей проблемы. У меня есть два флажка с именем admin_menu_id [] и admin_sub_menu_id [], значение которых я хочу вставить в базу данных. До сих пор я сделал это: -Неопределенное смещение: 1 Laravel Исключение ошибки

View Page

@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 флажок, но при попытке проверить более чем один, он выдает ошибку Undefined Offset. Я совершенно не знаком с laravel и этими массивами! Пожалуйста, помогите мне в этом.

+0

Может ли кто-нибудь мне помочь? Я действительно застрял. – Debs

+0

«Неопределенное смещение: 1» указывает на то, что с Array что-то не так. – score

+0

Можете ли вы показать, как вы получили $ roledatas массив от своего контроллера? – score

ответ

0

Петля в вашем контроллере идет от 0 до count ($ data ['admin_sub_menu_id']), вы уверены, что количество $ admin_menu_id, представленное соответствует счету ($ data ['admin_sub_menu_id'])? Если нет, вы всегда получите эту ошибку.

Я предлагаю вам иметь 2 петли, внешний контур для управления admin_menu_id и внутренний цикл для управления admin_sub_menu_id !!

+0

Спасибо за предложение .. Я знаю, что оба номера не соответствуют, и это причина ошибки, но у меня действительно нет идеи, как сделать 2 бесплатных цикла! – Debs

Смежные вопросы