ホームページ >PHPフレームワーク >Laravel >この記事では、Laravel でページ分割された結果にカスタム属性を追加する方法について説明します。
Laravel では、ページネーションは非常によく使用される関数です。 Laravel は、ページネーションを簡単に実装できる便利なページネーション クラスを提供します。ただし、場合によっては、レコードの総数や検索キーワードなど、ページ分割された結果にさらに属性を追加する必要がある場合があります。この記事では、Laravel でページ分割された結果のカスタム プロパティを追加する方法を説明します。
まず、Laravel のページング機能を簡単に見てみましょう。 paginate()
メソッドを使用して、データベースからページ分割されたデータを取得できます。例:
$users = DB::table('users')->paginate(10);
このコードは、users
という名前のデータベース テーブルから 10 個のエントリを取得します。レコードを作成し、1 ページあたり 10 レコードのページに整理します。これらのレコードをビューでレンダリングし、ページ番号の下にページネーション リンクを表示できるようになりました。
ただし、場合によっては、レコードの合計数など、ページ分割された結果にさらに属性を追加する必要があります。これを実現するには、Laravel のクエリ ビルダーを使用します。次のコードを考えてみましょう:
$users = DB::table('users')->select(\DB::raw('count(*) as total'))->paginate(10);
この例では、 total
という名前の列を返す select
句をクエリ ビルダーに追加しました。その値はクエリ結果の合計行数。これで、次のようにビューでこのプロパティにアクセスできるようになります。
{{ $users->total }}
同様に、クエリ ビルダーを使用して他のプロパティを追加できます。たとえば、ページ分割された結果に検索キーワードを追加する場合は、上記のコード例を次のように変更できます。
$keyword = 'John'; $users = DB::table('users') ->select(\DB::raw('count(*) as total')) ->where('name', 'like', "%{$keyword}%") ->paginate(10); $users->keyword = $keyword;
この例では、別のクエリ ビルダー関数 where
を追加しました。の場合、キーワード John
の名前を含む行のみが結果に返されます。次に、キーワードを $users
オブジェクトのカスタム プロパティ keyword
に保存し、ビューでアクセスできるようにします。
{{ $users->keyword }}
この方法で、次のように追加できます。ページ分割された結果に対する任意の数およびタイプのプロパティ。ページ分割された結果オブジェクトのパブリック プロパティにアクセスすることで、これらのカスタム プロパティにアクセスできることに注意してください。
この記事では、Laravel でページ分割された結果にカスタム プロパティを追加する方法について説明しました。これは、クエリ ビルダーの select
関数と where
関数を使用して実現します。これらのメソッドは、paginate()
関数だけでなく、他のクエリ ビルダー関数とも連携します。
この記事がお役に立てば幸いです!
以上がこの記事では、Laravel でページ分割された結果にカスタム属性を追加する方法について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。