我想显示一个数组,但是只产生一个第一个值
public static function GetUserSoal($id)
{
$model = Soal::where('cluster_id', $id)->inRandomOrder()->limit(500)->get();
return view('components.User.showexam', compact('model'));
}
这是刀片文件:
@for ($i = 0; $i < count($model); $i++)
<form action="/jawaban/store/{{$model[$i]->id}}" method="post" enctype="multipart/form-data">
@csrf
<table id="datatable" style="width:100%">
<tbody>
<tr>{{$i+1}}. </tr>
<tr>{{$model[$i]->soal}}</tr>
<ol type="A" style="">
<li> {{$model[$i]->A}}</li>
<li> {{$model[$i]->B}}</li>
<li> {{$model[$i]->C}}</li>
<li> {{$model[$i]->D}}</li>
<li> {{$model[$i]->E}}</li>
</ol>
<input list="browsers" name="jawaban[{{$model[$i]->id}}]">
<datalist id="browsers">
<option value="A">
<option value="B">
<option value="C">
<option value="D">
<option value="E">
</datalist>
@endfor
<br>
<br>
<button type="submit" class="btn btn-primary text-right" id="modal-btn-save-jwb">Done</button>
</form>
控制器:
public function GetUserJawaban($id, Request $request)
{
$score = 0;
foreach($request->jawaban as $key => $value){
return "Urutan ke-$key adalah $value";
}
}
当我添加像图片jawaban值它上面只显示 “ Urutan ke-29 adalah B”,我的代码有问题吗?
答案 0 :(得分:2)
如果在函数中编写return,它将结束所有处理并返回一个值。
所以返回后的所有内容都不会执行。
答案 1 :(得分:1)
问题是在该功能。更改回声。返回停止在第一次迭代中执行并退出功能。
public function GetUserJawaban($id, Request $request)
{
$score = 0;
foreach($request->jawaban as $key => $value){
echo "Urutan ke-$key adalah $value";
}
}
然而,你可能不得不做出您使用此功能,避免双重回声问题的微小变化。 希望对您有所帮助。