Мне нужно использовать корпуса переключателей, чтобы добавить ограничения на запрос, который мне нужно запустить. Мне нужно работать с пагинацией, я попытался это:Laravel 5.3 преобразовать построитель запросов в LengthAwarePaginator
$albums = Album::with(array(
'images' => function ($query) {
$query->orderBy('order', 'asc');
}
))
->where('votes.votable_type','App\Models\Album')
->groupBy('albums.id');
$albums->published()->orderBy('created_at', 'desc')->paginate(30);
dd($albums);
и я получаю
Builder {#361 ▼
#query: Builder {#350 ▶}
#model: Album {#351 ▶}
#eagerLoad: array:2 [▶]
#macros: array:5 [▶]
#onDelete: Closure {#364 ▶}
#passthru: array:11 [▶]
#scopes: array:1 [▶]
#removedScopes: []
}
Если я бегу
$albums = Album::with(array(
'images' => function ($query) {
$query->orderBy('order', 'asc');
}
))
->where('votes.votable_type','App\Models\Album')
->groupBy('albums.id')
->published()->orderBy('created_at', 'desc')->paginate(30);
dd($albums);
Я получаю
LengthAwarePaginator {#467 ▼
#total: 97
#lastPage: 4
#items: Collection {#872 ▶}
#perPage: 30
#currentPage: 1
#path: "http://images.dev"
#query: []
#fragment: null
#pageName: "page"
}
почему существует разница между этими двумя подходами ? Мне нужно использовать первый подход, чтобы иметь возможность добавлять ограничения, используя случай переключения, я не могу сделать это с помощью второго подхода. Но с первым подходом я не получаю LengthAwarePaginator, как его исправить, чтобы получить это?
вы спасли мой день, такой простой misstake :) –