Как я могу разбить массив объектов на страницы в Laravel?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я могу разбить массив объектов на страницы в Laravel?

Сообщение Anonymous »

Я создаю приложение, используя Laravel 4.2. У меня есть модель для единиц, другая для пользователей и сводная таблица user_units. Каждый пользователь в этом приложении может выбрать объект и добавить его в свой список избранных, а затем опубликовать этот объект со своей информацией в виде рекламы.

Я хочу выбрать все единицы измерения, опубликованные всеми пользователями

Таблица 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);
}
}
}
}
}
Теперь я получил результат, но не могу использовать нумерацию страниц с результатами, поскольку это массив объектов.

Так есть ли лучшее решение, чтобы получить все опубликованные пользователем блоки с разбиением на страницы?


Подробнее здесь: https://stackoverflow.com/questions/270 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»