🗂
laravel FilamentでServiceを使う
sarviceを使う時ってDBへの保存の時とか、画面描画前だと思うので、
各pageClassのフィルターフック内でServiceを使う事になると思う。
use App\Services\UserHasPolicyService;
protected function beforeFill()
{
// システムで利用しているpolicyファイルから、ユーザーの権限を作成する
//ユーザーに紐づくUserHasPolicyに内レコードだけ作る
$userHasPolicyService = new UserHasPolicyService();
// ユーザーにポリシーがなければ作成する
$userModel = $this->getRecord()->getModel();
$userHasPolicyService->compareAndCreateUserPolicies($userModel);
}
Discussion