如何在 laravel json 文件中传递多个值?
Posted
技术标签:
【中文标题】如何在 laravel json 文件中传递多个值?【英文标题】:How to pass multiple value in laravel json file? 【发布时间】:2021-01-16 22:38:41 【问题描述】:我正在使用 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
]);
【讨论】:
以上是关于如何在 laravel json 文件中传递多个值?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel/Vue - 传递数据:Json 嵌套值作为字符串
如何将 Laravel 数据(json)传递给 Vue 组件