laravelブレードで@foreach
ループをソートする方法はありますか?
@foreach ($specialist as $key)
<option value="{{$key->specialist_id}}"> {{$key->description}}</option>
@endforeach
$key->description
で注文したいのですが、
私はコントローラーで注文を使用できることを知っています、
->orderBy('description')
しかし、コントローラーは他の値を返し、それらの値もソートする必要があるため、ブレードで並べ替える必要があります。
$ specialist変数がEloquentコレクションであると仮定すると、次のことができます。
@foreach ($specialist->sortBy('description') as $oneSpecialist)
<option value="{{ $oneSpecialist->specialist_id }}"> {{ $oneSpecialist->description }}</option>
@endforeach
さらに、テンプレートからEloquentモデルを直接呼び出すことができます。
@foreach (Specialist::all()->sortBy('description') as $oneSpecialist)
<option value="{{ $oneSpecialist->specialist_id }}"> {{ $oneSpecialist->description }}</option>
@endforeach
Foreach()ループで誤解を招くような変数名$ keyを使用していることに注意してください。あなたの$ keyは、実際には配列項目であり、キーではありません。私はあなたがforeach($ array as $ key => $ value)構文をどこかで見た後、$ valueを削除したと思いますか?