laravel blade中的@foreach
循环有什么排序方法吗?
@foreach ($specialist as $key)
<option value="{{$key->specialist_id}}"> {{$key->description}}</option>
@endforeach
我想按$key->description
订购,
我知道我可以在控制器中使用排序,
->orderBy('description')
但是控制器返回其他值,这些值也必须排序,所以我需要在Blade中使用order by。
3条答案
按热度按时间6ovsh4lw1#
假设你的$specialist变量是一个Eloquent集合,你可以:
此外,您可以直接从模板调用您的Eloquent模型:
注意,您在foreach()循环中使用了一个误导性的变量名$key,您的$key实际上是一个数组项,而不是键,我假设您在某处看到了foreach($array as $key =〉$value)语法,然后删除了$value?
bq3bfh9z2#
我建议使用一个laravel collection,更具体地说,就是
sortBy()
,你可以在你的视图或者你传递数据的控制器中使用其中的任何一个,如果数据是由一个模型传递的,那么在继续使用其他列出的函数之前,一定要使用collect()
函数。希望这有帮助!
2ic8powd3#
即使顺序失败,也可以使用
->values()
重新索引元素