3

我使用 laravel 5.6

我试试这个文档:https ://laravel.com/docs/5.6/pagination

我的控制器是这样的:

public function index()
{
    $products = $this->product->list(); 
    dd($products);
    return view('admin.product.index',compact('products'));
}

我的列表功能是这样的:

public function scopeList($query)
{
    return $query->orderBy('updated_at', 'desc')->paginate(20);
}

如果我dd($products);,结果是这样的:

在此处输入图像描述

在视图 laravel 中,我添加了以下内容:

 {{ $products->links() }}

然后我上网查了一下,结果是空的

为什么结果为空?

有什么不对?

如果图像未显示,请访问此处:https ://postimg.org/image/w39usbfrv/

4

4 回答 4

5

您的控制器代码将如下所示

$products = DB::table('products')->paginate(20);
return view('admin.product.index', ['products' => $products ]);

您的查看页面代码如下所示

   @foreach ($products as $product)
         {{ $product->product_name}}
    @endforeach
    {{ $products->links() }}

注意:添加超过限制的项目以查看分页链接

于 2018-02-21T10:36:55.850 回答
3

在 laravel 中分页可以使用两种方法完成

1) 使用查询生成器结果

$products= DB::table('products')->paginate(15);

或者

$products= DB::table('products')->simplePaginate(15);

如果您只需要在分页视图中显示简单的“下一个”和“上一个”链接,您可以使用 simplePaginate 方法。

2) 使用 Eloquent 结果

$products= App\Products::paginate(15);

打印分页链接

{{ $products->links() }}

使用自定义分页视图

{{ $paginator->links('view.name') }}

或者您可以参考此链接以获取更多自定义分页视图

Laravel 5 中的自定义分页视图

于 2018-02-21T10:45:03.023 回答
1

使用paginate()功能

App\Product::paginate();

或通过查询生成器:

$products= DB::table('products')->paginate(15);
于 2018-02-21T10:12:29.850 回答
0

那是因为,您要为 20 种产品分页,而您只有 11 种产品。这就是为什么只有当您请求的产品数量多于您请求的产品数量时才会出现分页。对于您来说,您只有一页和 11 个产品。看顶部#total:11lastpage:1这就是空分页的原因,因为没有什么可以分页的。

于 2018-02-21T10:24:59.757 回答