我有 2 個不同的表資料order_id,我想在 laravel Blade foreach 中對其進行排序。
我的控制器:
$questions = Question::where('quiz_id', $quiz->id)->orderBy('order_id', 'asc')->get();
$explanations = Explanations::where('quiz_id', $quiz->id)->orderBy('order_id', 'asc')->get();
我的刀片:(我想按 order_id 對這 2 個 foreach 進行排序)
@foreach($questions as $question)
<p>{{$question->title}}</p>
@endforeach
@foreach($explanations as $explanation)
<p>{{$explanation->title}}</p>
@endforeach
我的結果:
<p>First Question</p> //order_id: 1
<p>Second Question Question</p> //order_id: 3
<p>First Explanation</p> //order_id: 2
<p>SecondExplanation</p> //order_id: 4
我想要的結果:
<p>First Question</p> //order_id: 1
<p>First Explanation</p> //order_id: 2
<p>Second Question</p> //order_id: 3
<p>Second Explanation</p> //order_id: 4
uj5u.com熱心網友回復:
在控制器中使用 toArray() 并使用陣列合并來合并兩個陣列并在控制器中對它們進行排序
uj5u.com熱心網友回復:
如果它有效,試試這個:
@for($i = 0; $i <= $questions - 1; $i )
<p>{{$questions[$i]->title}}</p>
<p>{{$explanations[$i]->title}}</p>
@endforeach
或用于jsondecode()將問題和解釋轉換為陣列然后:
@for($i = 0; $i <= $questions - 1; $i )
<p>{{$questions[$i]['title']}}</p>
<p>{{$explanations[$i]['title']}}</p>
@endforeach
這只有在問題和解釋的數量相同時才有效。
uj5u.com熱心網友回復:
如果在解釋中有問題 ID,那么您可以加入表格,您可以輕松獲得您想要的。
或者可能這件事對你有用。
@foreach($questions as $qKey => $question)
@foreach($explanations as $aKey => $explanation)
@if($qKey == $aKey)
<p>{{$question->title}}</p>
<p>{{$explanation->title}}</p>
@endif
@endforeach
@endforeach
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/527101.html
標籤:php拉拉维尔
上一篇:按數量搜索laravel
