ホームページ  >  に質問  >  本文

Laravel Eloquent を使用してフィルターとページネーションを実装する

データベースからすべての顧客レコードを返す API を作成しようとしています。ただし、これによりページングとフィルタリングの機能が提供されます。 ,

フィルタリング関数はオプションのクエリ パラメータです。したがって、クエリパラメータに含める必要はありません。

しかし、これを行うのに問題があります。

これは、CustomerController ファイル内のインデックス メソッドです:

リーリー

または、オプションのフィルタリング機能とページネーションを組み合わせるより良い方法はありますか?

###ありがとう。

P粉010967136P粉010967136316日前770

全員に返信(1)返信します

  • P粉268284930

    P粉2682849302023-11-13 10:57:10

    あなたの主な問題は次の行です:

    リーリー

    all() メソッドは、すべての customers レコードを ->paginate( )## を持たない Collection として即座に返します。 # メソッド: https://laravel.com/docs/9 .x/collections#available-methods

    リンクを選択するには、

    ->query() メソッドまたは ->when() 句を使用します。

    ::all()

    : の代わりに ::query() を使用してください リーリー

    ->when()

    句を使用します: リーリー

    返事
    0
  • キャンセル返事