Неопределенное смещение: 2, когда я удаляю элемент массива и хочу вернуть остальные - PullRequest
0 голосов
/ 27 января 2020

Я получаю эту ошибку всякий раз, когда пытаюсь удалить элемент в массиве. Это работает только когда я удаляю все. Но я хочу удалить по одному. это функция удаления

 public function delete($id){

      $user_id = auth() ->user()->id;
      $card = travel_plan::all()->where('travel_id', $user_id);
      foreach($card as $cardId){
        $cardd = $cardId;
    }  //->where('city_name', $uo)->first();
      $cardd->delete();

  return redirect('/home')->with('success', 'Post Removed');

}

это моя кнопка удаления

 {!!Form::open(['action'=>['TravelPlanController@delete','id' =>$cardd[]],'method'=>'POST','class'=>''])!!}

это то, как я получил идентификатор

 $cardd = array();
      $card = travel_plan::all()->where('travel_id', $user_id);
     foreach($card as $cardId){
          $cardd [] = $cardId ->id;
      }

Ответы [ 2 ]

1 голос
/ 27 января 2020

Удалите travel_plan, который имеет $id, и просто получите все остальные

travel_plan::where('travel_id', $id)->delete();
$cardd = travel_plan::where('travel_id', $user_id)->pluck('id')->first();

@if (!empty($cardd))
{!!Form::open(['action'=>['TravelPlanController@delete','id' =>$cardd],'method'=>'POST','class'=>''])!!}
@endif
0 голосов
/ 27 января 2020

Попробуйте это

<form method="POST" action="{{ action('TravelPlanController@delete','id' =>$cardd[1]) }}">
    {{ csrf_field() }}
    {{ method_field('DELETE') }}
    <button type="submit">Delete</button>
</form>
...