我正在尝试为我的模板分页,上面有一张 table 。

这是我在具有 Eloquent 查询的 Controller 中的功能。

public function orderbydate()
    {

        $order =DB::table('sales_flat_order_items as s')
                ->leftJoin('sales_flat_orders as w', 'w.entity_id','=','s.order_id')
                ->select(array(DB::Raw('sum(s.amount_refunded) as amount_refunded'),
                    DB::Raw('sum(s.row_total) as row_total'),
                    DB::Raw('sum(s.discount_amount) as discount_amount'),
                    DB::Raw('sum(s.tax_amount) as tax_amount'),
                    DB::Raw('sum(s.qty_ordered) as qty_ordered'),
                    DB::Raw('sum(w.subtotal) as subtotal'),
                    DB::Raw('sum(w.total_invoiced) as total_invoiced'),
                    DB::Raw('sum(w.shipping_amount) as shipping_amount')))
                ->where('qty_canceled','=','0')
                ->where('status','!=','canceled')
                ->get();

        $orderbydate = DB::table('sales_flat_order_items as s')
                ->leftJoin('sales_flat_orders as w', 'w.entity_id','=','s.order_id')
                ->select(array(DB::Raw('sum(s.amount_refunded) as amount_refunded'),
                    DB::Raw('sum(s.row_total) as row_total'),
                    DB::Raw('sum(s.discount_amount) as discount_amount'),
                    DB::Raw('sum(s.tax_amount) as tax_amount'),
                    DB::Raw('sum(s.qty_ordered) as qty_ordered'),
                    DB::Raw('sum(w.subtotal) as subtotal'),
                    DB::Raw('DATE(w.created_at) days'),
                    DB::Raw('sum(w.total_invoiced) as total_invoiced'),
                    DB::Raw('sum(w.shipping_amount) as shipping_amount')))
                ->where('qty_canceled','=','0')
                ->where('status','!=','canceled')
                ->groupBy('days')
                ->orderBy('s.created_at')
                ->get();

            return View::make('sales_flat_orders.orderbydate', compact('order','orderbydate'), ['orderbydate'=>Paginate(3)]);
    }

我想在我的模板中使用分页。所以我就是这样做的。
    @foreach(array_chunk($orderbydate->getCollection()->all(), 3) as $row)
      <div class = "row">
          @foreach($row as $s)
          <article class = "col-md-4">
     <tbody>
      <tr class="odd gradeX">
         <td>{{date("d F, Y",strtotime($s->days))}}</td>
         <td>{{ round($s->qty_ordered, 2) }}</td>
         <td>{{round($s->subtotal,2)}}</td>
         <td>{{round($s->tax_amount,2)}}</td>
         <td>{{round($s->discount_amount,2)}}</td>
         <td>{{round($s->row_total,2)}}</td>
         <td>{{round($s->amount_refunded,2)}}</td>
         <td>{{round($s->total_invoiced,2)}}</td>
         <td>{{round($s->shipping_amount,2)}}</td>
      </tr>
    </article>
     @endforeach
    @endforeach

但是thins 不起作用。我哪里出错了?

提前致谢

最佳答案

如果要使用分页代替 get 方法,则需要使用 paginate 方法。

例如,工作分页应该像这样工作:

Paginator::setCurrentPage($page);
Paginator::setBaseUrl($baseUrl);
Paginator::setPageName('page');
$users = User::paginate(15);

现在在 Blade 模板中,您可以在 foreach 循环中显示用户并添加分页链接:
@foreach ($users as $user)
  {{{ $user->name }}}
@endforeach

{{ $users->links() }}

你也应该看看 Pagination documentation

关于laravel-4 - 带有 Eloquent 查询的 Laravel 分页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26773243/

10-16 07:56