0
私は複数のモデルに適用される一般的な方針を書いています。どのようにすれば、認可が必要なクラスのクラス名を取得できますか?Laravel:ポリシーでクラス名を取得
ポリシー:
protected $policies = [
'App\User' => 'App\Policies\ModelPolicy',
'App\Customer' => 'App\Policies\ModelPolicy',
];
ModelPolicy:
class ModelPolicy
{
use HandlesAuthorization;
/**
* Create a new policy instance.
*
* @return void
*/
public function __construct()
{
}
public function index(User $user){
// how can I retrieve the class name, like User or Customer?
return true;
}
}
これは、例えば、私の顧客のコントローラです。だからポリシーで私はApp \ Customerのようなものを取得したい。
class CustomerController extends Controller
{
public function index(){
$this->authorize('index', Customer::class);
echo "test";
}
}