LaravelでGate機能を使ってユーザ情報に権限情報を追加します。
ユーザ毎に管理者権限などを割り振りたい場合、Laravelに用意されているGate機能を利用すると便利です。
具体的にはユーザ毎に任意の数字を割り振り、その数字により権限を割り振ることにしたいのですが、デフォルトのuserテーブルにはそのカラムが存在しません。そこでカラムを追加するところから権限機能追加の手順について確認していきます。
ちなみに今回の環境はLaravel 5.8で、Auth機能は追加済みを想定しています。
また、追加したカラムの持つ数字の意味として、以下の権限を付与するものとします。
1 : 閲覧者
50 : 編集者
100 : 管理者
システム設計として、数字を連番にしてしまうと、いざ間に新しい権限を追加しようとしたときに困るので、数字の間に余裕を持たせるのが一般的です。
userテーブルに権限情報を追加する
userテーブルに権限情報カラム「role」を追加します。カラム追加にはmigrateファイルを作成します。
> php artisan make:migration add_column_to_users_table