雄辩的ORM多态关系

时间:2016-09-02 16:21:16

标签: laravel eloquent polymorphism laravel-5.3

我尝试构建基于角色的用户管理,但是按照多种类型的资源进行细分。

我有这个关系模型: Relational model with basic tables

我需要在用户个人资料管理视图中显示如下内容: Expected result view

但我不想提出如下问题:

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,
]);

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个

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