我正在使用Laravel 4.2構建一個應用程序。我有一個units
的模型和另一個users
和數據透視表user_units
。此應用程序中的每個用戶都可以選擇一個單元並將其添加到他最喜歡的列表中,然後他可以將該單元的信息作爲廣告發布。如何分頁Laravel中的對象數組?
我要選擇所有用戶
的user_units
(透視)表有以下幾列發佈的所有單位:
id
user_id
unit_id
publish
adtype
addinfo
created_at
updated_at
隨着模型關係方法
public function users() {
return $this->belongsToMany('User', 'user_units')
->withPivot('id','publish', 'adtype', 'addinfo');
}
public function units() {
return $this->belongsToMany('Unit', 'user_units')
->withPivot('id','publish', 'adtype', 'addinfo');
}
我的查詢選擇所有用戶發佈的所有單位
// Get all published units by users for sale.
$users = User::all();
$publishedSaleUnits = [];
foreach($users as $user){
$userUnits = $user->units()->orderBy('adtype', 'desc')->get();
if(count($userUnits)){
foreach($userUnits as $unit){
if($unit->pivot->publish == 1 && $unit->unit_purpose_id == 1){
if($unit->pivot->adtype){
//push all featured ads onto the beginning of array
array_unshift($publishedSaleUnits, $unit);
}else{
//push all normal ads onto the end of array
array_push($publishedSaleUnits, $unit);
}
}
}
}
}
現在我得到了結果,但我不能使用分頁結果,因爲它是一個對象數組。
那麼有沒有更好的解決方案來獲取用戶分頁的所有出版單位?
$單位=分頁程序::使($單位,計數($單位),10); 我嘗試這種方法之前,它創建$單位 - >鏈接()在視圖完美,但每個頁面包含$單位陣列的所有結果 – 2014-11-21 17:04:09
我已經使用paginator :: make分頁$ publishSaleUnits數組中的記錄。但鑑於我正在獲取分頁鏈接,但所有鏈接都包含所有記錄。如何限制它到每頁項目。 – 2014-11-21 17:15:19