【发布时间】:2016-08-22 09:38:07
【问题描述】:
我有一个控制器可以找到产品并返回查看。 目前我正在尝试进行分页,我正在使用以下代码:
return $this->queryProductsAvailable()
->where('fornecedores.plano_id', $plano)
->select('produtos.*')
->paginate( $limit );
功能查询ProductsAvailabe:
private function queryProductsAvailable()
{
return Products::join('fornecedores', 'fornecedores.id', '=' ,'produtos.fornecedor_id')
->where( 'fornecedores.ativo', '1')
->where( 'produtos.moderacao', 'P' )
->where( 'produtos.ativo' , '1' )
->where( 'produtos.preco_min', '>', 0 )
->select( 'produtos.*');
}
要查看我要返回以下内容:
return view('Catalogo.index',
[
'products' => $products
]
);
但是当我运行 $products->render() 方法时,什么也没有发生。
没有错误,没有消息...
如果我运行$products->total(),则返回值 0
如果我运行 $products->nextPageUrl() 没有任何反应
用于访问此方法的相同变量用于产品的循环和打印,并且 foreach 工作正常。
如果我使用/?page=2 访问网址,则分页可以工作,但不能呈现页面列表。
有什么想法吗?
----编辑----
代码工作如下:
在我的站点中有计划(计划 5 级),这将使产品排在另一个之前,然后搜索产品我执行以下操作:
在第一次搜索中,我寻求 30 级产品 5 如果 5 级没有 30 种产品,我检查带了多少产品来查询,我减少 30 并在计划中寻求更多产品 4 完成 30 产品等开。
在这个过程中,当我们减少一个计划时,我使用push方法添加集合,每当计划减少时,分页限制也在改变......
所以我有两点可能会导致这个问题,第一点是推送方法,第二点是减少计划并寻求更多具有不同分页的产品。第一个是 30。
除了我的查询也是随机搜索产品,我相信我需要开发自己的分页来满足我的所有要求......
谢谢大家
【问题讨论】:
-
您期望得到多少结果?
render()如果您的分页结果数量少于分页数,则不会执行任何操作。 -
嗨@user3158900。我的分页接收值 30 和变量显示 30 个产品。数据库中存在 500 个产品。
标签: php laravel laravel-5 pagination laravel-5.1