I think you are working with a custom laravel framework, so you have the UpdateOrCreate method, because laravel does not provide such methods, if my assumption is correct, the code below can be useful for your application.
foreach($exerciseValArray as $kkey=>$exerciseValue){ if($exerciseValue['exercise'] =='' || $exerciseValue['section_type'] == ''){ return Response::JSON(array('errors'=>array('Error in workout exercise section'))); } $exerciseData = explode(',',$exerciseValue['exercise']); $attr_array = array('fk_workouts_id','fk_users_id','fk_exercises_id','section','status','item_index','updated_at'); foreach($exerciseData as $exerciseid){ $val_array = array($userId,$exerciseid,$exerciseValue['section_type'],1,$item_index,$workoutDetails['updated_at']); WorkoutExercise::updateOrCreate($attr_array,$val_array); } }
But if you do not use such a custom framework than try with the code below, it may work fine
foreach($exerciseValArray as $kkey=>$exerciseValue){ if($exerciseValue['exercise'] =='' || $exerciseValue['section_type'] == ''){ return Response::JSON(array('errors'=>array('Error in workout exercise section'))); } $exerciseData = explode(',',$exerciseValue['exercise']); foreach($exerciseData as $exerciseid){ $item_index = $index+$kkey+1;
good luck ... :)
source share