Eloquent ORM多态关系

Eloquent ORM Polymorphic relationship

我正在尝试建立一个基于角色的用户管理,但按多种类型的资源划分。

我有这个关系模型:

我需要在用户配置文件管理视图中显示如下内容:

但我不想进行如下查询:

RoleUser::where('user_id',1)->get();

我想使用多对多多态关系来利用Laravel的Eager/Lazy加载,但我不知道不知道该怎么做。 另一个需要考虑的有趣特性是,我不想在数据库中存储 App\Models\EventApp\Models\ArticleApp\Models\Photo 等类型,但地图对我来说效果不佳(因为关系设置不正确)。

//AppServiceProvider::boot()
Relation::morphMap([
    'event' => Event::class,
    'race'  => Race::class,
]);

有什么想法吗?

试试这个

    //AppServiceProvider::boot()
    Relation::morphMap([
        'event' => App\Models\Event::class,
        'race'  => App\Models\Race::class,
    ]);