0
當我嘗試在Laravel 5.2中進行分頁時,出現以下錯誤。方法paginate不存在Laravel 5.2
BadMethodCallException in Macroable.php line 81:方法分頁不確定 不存在。
和代碼:
Illuminate\Contracts\Pagination\Paginator;
...
$count = 0;
$gdprecords = Gdprecord::all();
foreach($gdprecords as $gdprecord) {
$count++;
$Pa = $gdprecord->adultpopulation;
$Pc = $gdprecord->childpopulation;
$P = $Pa + $Pc; // total population
$T = ($gdprecord->gdpcapita * $P) * $gdpratio; // basic income for country
if($bi_ratio == 0) {
$gdprecord->bi_adult = round($T/$Pa, 2);
} else {
$gdprecord->bi_adult = round($T/($Pa + ($Pc/$bi_ratio)), 2);
}
$gdprecord->bi_adult_monthly = round($gdprecord->bi_adult/12, 2);
$gdprecord->bi_adult_daily = round($gdprecord->bi_adult/365, 2);
if($bi_ratio == 0) {
$gdprecord->bi_child = 0;
} else {
$gdprecord->bi_child = round($gdprecord->bi_adult/$bi_ratio, 2);
}
$gdprecord->bi_child_monthly = round($gdprecord->bi_child/12, 2);
$gdprecord->bi_child_daily = round($gdprecord->bi_child/365, 2);
}
$sorted_gdprecords = $gdprecords->sortByDesc('bi_adult')->paginate(25);
我不想分頁,直到陣列已經被排序之後。我如何完成這項工作?
謝謝你,菲利普
你可以添加你的雄辯查詢嗎? – wiesson
@wiesson,它在帖子中,'$ gdprecords = Gdprecord :: all();' –
無聊的答案是,你需要弄清楚如何將你的排序標準添加到查詢中,因爲paginate函數不起作用收藏。無論如何,這是一個最佳實踐,但我意識到這可能會非常困難 - 也許您可以在添加數據時將該信息添加到表中的某些字段中,並基於該字段進行排序?否則,它看起來像你必須編寫自己的分頁,並且因爲它是基於集合的,所以它可能不會很有效。 –