目前我送這回我的API:Laravel計數主題
return Forum::with('topics')
->paginate($pagination);
所以論壇有很多話題。我如何計算所有主題並使用此json響應發回給他們?
目前我送這回我的API:Laravel計數主題
return Forum::with('topics')
->paginate($pagination);
所以論壇有很多話題。我如何計算所有主題並使用此json響應發回給他們?
根據Laravels'文檔:
的Laravel分頁程序結果類實現 照亮\合同的\ Support \ Jsonable接口合同,並揭露 的的toJSON方法,所以它是很容易的分頁轉換 結果爲JSON。您也可以將分頁程序實例轉換爲JSON通過 簡單地從一個路徑或控制器動作返回它:
Route::get('users', function() {
return App\User::paginate();
});
從分頁程序的JSON將包括元數據信息,如 總,CURRENT_PAGE,last_page,和更多。實際結果對象 將通過JSON數組中的數據鍵可用。下面是從 路線返回分頁程序實例創建的JSON的 例如:
{
"total": 50,
"per_page": 15,
"current_page": 1,
"last_page": 4,
"next_page_url": "http://laravel.app?page=2",
"prev_page_url": null,
"from": 1,
"to": 15,
"data":[
{
// Result Object
},
{
// Result Object
}
]
}
假設你需要獲得與相關主題和分頁,並且還題目的總數所有論壇的列表,您可以用所需的數據結構
return [
'forums' => Forum::with('topics')->paginate($onPage)->toArray(),
'topics_total_count' => Topic::count()
];
注意->toArray()
使用返回數組。這是因爲paginate()
方法本身需要返回Illuminate/Pagination/LengthAwarePaginator
實例。 如果不直接從控制器返回分頁對象,它將不會被自動序列化爲json。