0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】セッション/ペジネーション

Posted at

こちらの記事は以下の書籍を参考にアウトプットとして執筆しました。
PHPフレームワーク Laravel入門 第2版

セッション

セションについて

セッションはクッキーとDBを組み合わせるのが基本
Laravelではファイルやメモリキャッシュ等でセッションを保存している。
デフォルトではファイルを利用するように設定されている。

セッション操作の基本

  • 値に名前をつけて保存する
  • 名前を指定して値を取得する

この2つの操作のみ。

値を保存

Request->session()->put(キー,)

セッションファイルの保存先はstorage/framework/sessions

値を取得

$変数=Request->session()->get(キー)

DBでセッションを使う

セッションをファイルで管理するとなると、そのうち膨大な数を配置することになる上、読み書きの速度も早いわけではない。
本格的に導入していくならDBを利用する方法に変更すべき

セッションの保存先をDBに変更する

以下のように修正する。

config/session.php
'driver' => env('SESSION_DRIVER', 'database'),

次に.envのSESSION_DRIVERを修正

.env
SESSION_DRIVER=database

セッション用のテーブルを作成

セッション用のテーブルは決まった形で作る必要があるため、artisanコマンドで作成する。

php artisan session:table

これでセッション用のテーブルを作成するマイグレーションファイルが作成される。
後はマイグレーションを実行してテーブルを生成する

ペジネーション

allで全レコードを取得して表示するのではなく、必要な部分だけを取り出して表示するという処理が必要になる。

ペジネーションはレコードを一定数ごとに取り出して表示していく仕組み。
全レコードをページ分けして表示している。

simplePaginate

DBクラス

simplePaginateメソッドの引数へ指定した数字で1ページあたりの表示レコード数を指定する

$item=DB::table('people')->simplePageinate(5)

出典:PHPフレームワーク Laravel入門 第2版

上記例では5項目ずつレコードを表示している。

モデルクラス

DBクラス同様simplePaginateが使える

$items=Person::simplePageinate(5)

出典:PHPフレームワーク Laravel入門 第2版

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?