概要
Laravelの管理画面用のライブラリであるLaravel-adminのログインユーザの情報を取得する方法です。
探し方が悪かったのか、ドキュメントを見つけるのに少し手間取ったので忘備録です。
公式ドキュメントに記載があります。
名前空間の宣言
ファイル上部でLaravel-adminのAdminクラスの名前空間を宣言します。
use Encore\Admin\Facades\Admin;
関数一覧
その後、Adminクラスから得たいユーザの情報を取得します。
| オブジェクト | |
|:-----------|------------:|:------------:|
| Admin::user() | 現在のユーザーオブジェクトを取得する |
| Admin::user()->id | 現在のユーザーIDを取得する |
| Admin::user()->roles | ユーザーのRoleを取得する |
| Admin::user()->permissions | ユーザーの権限を取得する |
| Admin::user()->isRole('developer') | ユーザーがそのRoleであるかどうか |
| Admin::user()->can('create-post') | ユーザーにその権限があるかどうか |
| Admin::user()->cannot('delete-post') | ユーザーに権限がないかどうか |
| Admin::user()->isAdministrator() | 管理者であるかどうか |
| Admin::user()->inRoles(['editor', 'developer']) | ユーザがRolesのどれかに属するかどうか |
確認例
use Encore\Admin\Facades\Admin;
class xxxController extends Controller
{
public function index(Content $content)
{
$user = Admin::user()->username;
dd($user);
}
}
最後に
記事に間違いや不明な点があれば遠慮なくご指摘ください。