Ich muss Switch-Fälle verwenden, um Einschränkungen zu der Abfrage hinzuzufügen, die ich ausführen muss. Ich brauche es mit Paginierung zu arbeiten, habe ich versucht, dieses:Laravel 5.3 Conversion-Abfrage-Generator zu 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);
und ich
Builder {#361 ▼
#query: Builder {#350 ▶}
#model: Album {#351 ▶}
#eagerLoad: array:2 [▶]
#macros: array:5 [▶]
#onDelete: Closure {#364 ▶}
#passthru: array:11 [▶]
#scopes: array:1 [▶]
#removedScopes: []
}
Wenn ich
$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);
betreibe ich
LengthAwarePaginator {#467 ▼
#total: 97
#lastPage: 4
#items: Collection {#872 ▶}
#perPage: 30
#currentPage: 1
#path: "http://images.dev"
#query: []
#fragment: null
#pageName: "page"
}
bekommen, warum es gibt einen Unterschied zwischen diesen beiden Ansätzen ? Ich muss den ersten Ansatz verwenden, um Constraints mithilfe von Switch Case hinzufügen zu können, das kann ich nicht mit dem zweiten Ansatz tun. Aber mit der ersten Annäherung bekomme ich LengthAwarePaginator nicht, wie man es repariert, damit ich das bekomme?
Sie meinen Tag gerettet, wie ein einfaches Misstake :) –