Laravel foreach排序方式,首先显示特定记录

时间:2018-11-16 11:49:40

标签: laravel eloquent laravel-blade

我有一个foreach循环,我想通过先显示is_active为null的记录来排序列表,然后再显示其他内容。

    @foreach ($registrations->sortBy('is_active') as $registration)

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

首先进行查询,以根据is_active值按升序返回记录(我假设 0表示无效,而1表示活跃

查询应为:

$records=DB::table('table_name')->orderBy('is_active','asc')->all();
return view('viewblade')->with('records',$records);

现在您可以在Viewblade中显示数据,例如:

@foreach($records as $record){
   {{$record->fieldName}}
}
@endforeach

答案 1 :(得分:0)

您可以尝试这种方式,

 // specify second_column that will be used if multiple null values found

 $registrations = $registrations->sortByDesc('second_column')->sortBy('is_active');

 @foreach ($registrations->all() as $registration)