首页 > 解决方案 > 我应该如何在 Laravel 中构建我的数据库/模型?

问题描述

我的应用程序有几个项目。每个项目都有具有不同固定角色的成员,并且一个成员可以在同一个项目的多个角色下列出(重要!)。我应该如何构建我的数据库/模型?

我希望它看起来像这样:

项目页面(看到一些成员可以在同一个项目下列出两次)

Project 1
    Gardeners
        John Doe
        Lisa Smith
    Janitors
        Eric Black
        John Doe
    Pool keepers
        Bella Johnson

Project 2
    Gardeners
        Lisa Smith
    Janitors
        Bella Johnson
        John Doe
        Lisa Smith

会员页面

Bella Johnson
    Janitor
    Pool keeper
Eric Black
    Janitor
John Doe
    Gardener
    Janitor
Lisa Smith
    Gardener
    Janitor

我对数据库结构的思考

项目

会员

角色

成员角色

member_role_project

我也可以用这个而不是member_role_project上面的,但因为我需要一个关系member_role,它似乎是多余的:

member_project_role

当我加载我的项目页面时,我可以在 Laravel 中一次性加载所有内容,还是我需要获取所有事件、循环并获取所有角色、循环并获取所有成员?很多查询。什么是正确的方法?谢谢!

标签: laraveldatabase-designlaravel-8

解决方案


推荐阅读