Php 基于Laravel刀片状态的过滤结果
我的管理面板中有一个订单列表,我想使用选项卡根据状态来分隔订单 我在我的模型中定义了状态:Php 基于Laravel刀片状态的过滤结果,php,laravel,Php,Laravel,我的管理面板中有一个订单列表,我想使用选项卡根据状态来分隔订单 我在我的模型中定义了状态: public static $statuses = [ 'done' => 'Successful Orders', 'canceled' => 'Canceled Orders', 'pending'=> 'Pending Orders' ]; <div class="container-fluid"> <ul class="n
public static $statuses = [
'done' => 'Successful Orders',
'canceled' => 'Canceled Orders',
'pending'=> 'Pending Orders'
];
<div class="container-fluid">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#pending">Pending Orders</a></li>
<li><a data-toggle="tab" href="#done">Successful Orders</a></li>
<li><a data-toggle="tab" href="#canceled">Canceled Orders</a></li>
</ul>
<div class="tab-content">
<div id="pending" class="tab-pane fade in active">
//ORDERS WITH PENDING STATUS
</div>
</div>
<div class="tab-content">
<div id="done" class="tab-pane fade in active">
//ORDERS WITH DONE STATUS
</div>
</div>
<div class="tab-content">
<div id="canceled" class="tab-pane fade in active">
//ORDERS WITH CANCELED STATUS
</div>
</div>
@foreach($orders as $order)
{{ $order->id }}
{{ $order::$statuses[$order->status] }}
@endforeach
这里是我的标签(bootstrap
):
public static $statuses = [
'done' => 'Successful Orders',
'canceled' => 'Canceled Orders',
'pending'=> 'Pending Orders'
];
<div class="container-fluid">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#pending">Pending Orders</a></li>
<li><a data-toggle="tab" href="#done">Successful Orders</a></li>
<li><a data-toggle="tab" href="#canceled">Canceled Orders</a></li>
</ul>
<div class="tab-content">
<div id="pending" class="tab-pane fade in active">
//ORDERS WITH PENDING STATUS
</div>
</div>
<div class="tab-content">
<div id="done" class="tab-pane fade in active">
//ORDERS WITH DONE STATUS
</div>
</div>
<div class="tab-content">
<div id="canceled" class="tab-pane fade in active">
//ORDERS WITH CANCELED STATUS
</div>
</div>
@foreach($orders as $order)
{{ $order->id }}
{{ $order::$statuses[$order->status] }}
@endforeach
控制器
function index() {
if(request()->has('status')) {
$orders = Order::where('status', request('status'))->paginate(5)->append('status', request('status'));
}
return view('orders.index', compact('orders'));
}
查看
<a href="/orders?status=pending">Pending</a>
<a href="/orders?status=done">Pending</a>
<a href="/orders?status=canceled">Pending</a>
foreach($orders as $order) {
$order->id;
}
foreach($orders作为$order){
$order->id;
}
您不能使用Laravel collections进行分组吗?类似于:collect($orders)->groupBy(函数($order){returnorder::status[$order->status];})代码>-订单可能已经是一个集合,因此您可能不需要使用collect()。请参阅此处的详细信息:方法Illumb\Database\Eloquent\Collection::append不存在。很抱歉,它应该是带有s的appends()