Laravel Blade Templating @foreach订单

Ugo*_*lli 15 php foreach laravel blade

有没有办法@foreach在laravel刀片中排序循环?

@foreach ($specialist as $key)
  <option value="{{$key->specialist_id}}"> {{$key->description}}</option>
@endforeach
Run Code Online (Sandbox Code Playgroud)

我喜欢订购$key->description,

我知道我可以在我的控制器中使用order,

->orderBy('description')
Run Code Online (Sandbox Code Playgroud)

但控制器返回其他值,这些值也必须排序,所以我需要在刀片中订购.

Den*_*nko 29

假设您的$ specialist变量是一个Eloquent集合,您可以:

@foreach ($specialist->sortBy('description') as $oneSpecialist)
  <option value="{{ $oneSpecialist->specialist_id }}"> {{ $oneSpecialist->description }}</option>
@endforeach
Run Code Online (Sandbox Code Playgroud)

此外,您可以直接从模板中调用您的Eloquent模型:

@foreach (Specialist::all()->sortBy('description') as $oneSpecialist)
  <option value="{{ $oneSpecialist->specialist_id }}"> {{ $oneSpecialist->description }}</option>
@endforeach
Run Code Online (Sandbox Code Playgroud)

请注意,您在foreach()循环中使用了误导性的变量名称$ key.你的$ key实际上是一个数组项,而不是一个键.我假设您在某处看到了foreach($ array为$ key => $ value)语法,然后删除了$ value?