Как передать несколько значений в файле laravel json?

#arrays #json #laravel #api #parameter-passing

#массивы #json #laravel #API #передача параметров

Вопрос:

Я работаю с laravel api. У меня проблемы с передачей значения итерации через laravel json.Вот код…

  public function show($quizResultId)
{
    //QuizResult
    $quizResult=QuizResult::findOrFail($quizResultId);
    $quizSessionId=$quizResult->session_id;
    //QuizSessionAns
    $quizSessionAns=QuizSessionAnswer::where('session_id','=',$quizSessionId)->get();
    $quizSessionAns=$quizSessionAns->pluck('selected_choice_id');
    //QuizSession
    $quizSession=QuizSession::findOrFail($quizSessionId);
    //Question with Choices
    $quizId=$quizSession->quiz_id;
    $quiz=Quiz::with('questions.choices')->findOrFail($quizId);
    $questions=$quiz->questions;
    
    $questionLimit=$questions->count();

    for($i=0;$i<$questionLimit;$i  ){
        $questionChoice=$questions[$i];
        $chosenAns=$quizSessionAns[$i];

    return response()->json([
        'quiz_session'=>$quizSession,
        'question_with_choice'=>$questionChoice,
        'candidate_chosen_ans'=>$chosenAns
    ]);
    }
}
  

Здесь цикл не работает.Итак, как решить эту проблему?

Ответ №1:

Ваш оператор return находится в цикле, поэтому на первой итерации он просто разорвет цикл и вернет результат. Вместо этого вы должны сделать что-то вроде этого:

 $questionChoice = [];
$chosenAns = [];

for($i=0;$i<$questionLimit;$i  ){
    $questionChoice[]=$questions[$i];
    $chosenAns[]=$quizSessionAns[$i];
}

return response()->json([
            'quiz_session'=>$quizSession,
            'question_with_choice'=>$questionChoice,
            'candidate_chosen_ans'=>$chosenAns
        ]);