Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于Laravel刀片状态的过滤结果_Php_Laravel - Fatal编程技术网

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()