🗂

laravel FilamentでServiceを使う

2023/12/14に公開

sarviceを使う時ってDBへの保存の時とか、画面描画前だと思うので、
各pageClassのフィルターフック内でServiceを使う事になると思う。

use App\Services\UserHasPolicyService;

protected function beforeFill()
    {
        // システムで利用しているpolicyファイルから、ユーザーの権限を作成する
        //ユーザーに紐づくUserHasPolicyに内レコードだけ作る
        $userHasPolicyService = new UserHasPolicyService();
        // ユーザーにポリシーがなければ作成する
        $userModel = $this->getRecord()->getModel();
        $userHasPolicyService->compareAndCreateUserPolicies($userModel);
    }

Discussion