0
LaravelアプリケーションでAJAXリクエストを使用してページ設定データを取得します。これは、最初のチャンクで正常に動作します。ただし、以下の場合、1つの列(id)を渡すだけです。Laravel:最初のチャンクを返すページ分割のみ
何が問題ですか?
関連するコード:
クエリparamsを、後続のページネーション要求に追加されていない。そのため、Route::get('contacts', function (Request $request) {
return buildQuery($request, User::class)->simplePaginate(50);
});
function buildQuery(Request $request, $model) {
$query = DB::table('users')->select('id as ID');
$properties = $request->all();
$searchString = "";
if (in_array('q', array_keys($properties)) && $properties['q']) {
$searchString = $properties['q'];
$query->orWhere('id', 'like', '%'.$searchString.'%');
}
foreach ($properties as $property => $value) {
if ($property == "id" || $property == "q")
continue;
if (in_array($property, array_keys($model::$labels))) {
$query->addSelect($property.' as '.$model::$labels[$property]);
if ($value == "desc" || $value == "asc")
$query->orderBy($property, $value);
if ($searchString)
$query->orWhere($property, 'like', '%'.$searchString.'%');
}
}
return $query;
}
はにつながるメソッドの追加では存在しません。 –
大丈夫、私の悪い。それはLengthAwarePaginatorで動作します。シンプルなページネーションに必要な場合は、クエリから返された結果に追加情報を使用して、そこからリンクを作成します。 – ayip
同じエラーです。オブジェクトの追加が呼び出されるのはAbstractPaginator –