Php Laravel-如何在pivot模型上注册策略类
让我们假设有称为articles和relatedArticles的表 Articles是雄辩模型的扩展,relatedArticles是轴心模型Php Laravel-如何在pivot模型上注册策略类,php,laravel,laravel-nova,Php,Laravel,Laravel Nova,让我们假设有称为articles和relatedArticles的表 Articles是雄辩模型的扩展,relatedArticles是轴心模型 class AuthServiceProvider extends ServiceProvider { public function boot() { $classes = []; Gate::guessPolicyNamesUsing(function ($modelClass) use(&$
class AuthServiceProvider extends ServiceProvider
{
public function boot()
{
$classes = [];
Gate::guessPolicyNamesUsing(function ($modelClass) use(&$classes) {
$classes[] = $modelClass;
}
dd($classes);
}
}
运行将返回['articles',但不会返回['articles','relatedArticles',],因为relatedArticles是一个透视模型
class AuthServiceProvider extends ServiceProvider
{
public function boot()
{
$classes = [];
Gate::guessPolicyNamesUsing(function ($modelClass) use(&$classes) {
$classes[] = $modelClass;
}
dd($classes);
}
}
因此,relatedArticlesPolicy将不会注册,因此您无法在其上编写策略
根据这个git问题,您必须建立一个hasManyThrough关系。
我也在使用Nova,他们不支持hasManyThrough关系。因此,我要么被困在没有政策的关系中,要么被困在Nova不起作用的关系中。
是否有方法在AuthServiceProvider中的透视模型上注册策略类