Laravel Blade Templating @foreach订单

问题描述 投票:14回答:2

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

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

我想订购qazxsw poi,

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

$key->description

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

php laravel foreach blade
2个回答
28
投票

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

->orderBy('description')

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

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

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


1
投票

我建议使用laravel @foreach (Specialist::all()->sortBy('description') as $oneSpecialist) <option value="{{ $oneSpecialist->specialist_id }}"> {{ $oneSpecialist->description }}</option> @endforeach 。更具体地说,collection。您可以在视图中使用其中任何一个,也可以使用从中传递数据的控制器。如果数据是由模型传递的,请务必使用sortBy()函数,然后再继续使用列出的任何其他函数。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.