私はSaaSになり、ユーザの役割を利用するアプリケーションを持っています。もちろん、コントローラーはユーザーの役割やアクセス許可に応じて異なるデータを転送する必要がありますが、この方法は巨大なコントローラーにつながる可能性があります。これを行うにはもっとスマートな方法があるのでしょうか?ロールを持つLaravelコントローラ
public function create()
{
if (Auth::user()->isAdmin()) {
$clinics = Clinic::pluck('name', 'id');
$roles = Role::pluck('display_name', 'id');
}
else{
$clinics = Clinic::where('id', Auth::user()->clinic_id)->get()->pluck('name', 'id');
$roles = Role::where('name', '!=', 'admin')->get()->pluck('display_name', 'id');
}
$states = State::pluck('name', 'id');
$cities = City::pluck('name', 'id');
return view('users.create', compact('user', 'clinics', 'states', 'cities', 'roles'));
}
私は唯一の管理者と非管理者ユーザーを実装したときに、今は大丈夫ですが、役割が複雑になりますと、これを組み立てるきれいな方法があります:?例えば、私のユーザーは、メソッドを作成しますか
に似スコープユーザーの役割をチェックします。 – Sandeesh