In meiner Laravel-Anwendung habe ich einen API-Einstiegspunkt, an dem ich erste Daten für meine Anwendung sammle, z. B. erhalte ich paginierte Ergebnisse für Beiträge, Tags, Benutzer ...
Ich verwende paginate:15 für alle Datensätze, aber für Benutzer möchte ich paginate:30 verwenden, weil ich in meinen Anforderungsparametern so etwas habe:
page=1&paginate=15
Gibt es eine Möglichkeit, es in meiner Controller-Methode auf 30 zu ändern?
Anfänglicher Controller
$users = $this->userService->getUsersPaginated($request); $users = $this->vuePaginate($users);In meinem Benutzermodell:
public function getUsersPaginated($request) { $users = User:: paginate($request['paginate']); return $users; }
根据用户类型,评估是否可以在前端处理分页大小。
无论如何,如果您想在后端处理它,您可以找到一个条件来设置分页大小。
例如:
我还建议您为分页设置一个最小值和最大值,以避免来自前端的错误值引起问题(想象一下如果您得到一个像1,000,000或-1这样的值)
还要注意,默认的分页器请求变量是per_page