我有一個控制器闕查找產品並返回查看。 當前我試圖讓分頁和我使用下面的代碼:Laravel分頁渲染()不起作用
return $this->queryProductsAvailable()
->where('fornecedores.plano_id', $plano)
->select('produtos.*')
->paginate($limit);
功能queryProductsAvailabe:
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->nextPageUrl()
沒有任何反應
用於訪問該方法的同一個變量是用於循環和打印
沒有錯誤,沒有任何消息......
如果我跑$products->total()
返回值爲0
產品和foreach工作正常。
如果我訪問url爲/?page=2
的分頁工作,但沒有渲染頁面列表。
有什麼想法?
---- ---- Edite
代碼的工作原理如下:
在我的網站有計劃(計劃5級),這將使產品前,另一列,然後搜索產品我做了以下幾點:
在第一次搜索我尋找30級產品5如果5級沒有30產品我檢查有多少產品帶來查詢,我減少了30和尋找計劃中的更多產品4,完成30個產品等等。
在這個過程中,當我們減少一個計劃我用推methodo添加的收集和每當有計劃的減少,PAGINATE極限也正在改變...
所以,我有兩個可能會導致這個問題的點,第一個是推動方法,第二個在減少計劃的行爲和尋求更多的產品與第一個是30不同的分頁。第一個是30.
除此之外,我的查詢還搜索產品隨機地,我相信我需要開發自己的分頁符以滿足我所有的要求...
謝謝大家
您期待得到多少結果?如果你的分頁結果數少於你的分頁數,render()將不會執行任何操作。 – user3158900
hi @ user3158900。 我的分頁接收值30和變量顯示30個產品。在數據庫中存在 存在500個產品。 – Dayglor