首页 > 解决方案 > 如何为访问同一课程表的两个用户(教师、学生)创建数据透视表,该课程表使用 Laravel 分配和注册

问题描述

我在创建 laravel 在上述主题上支持的数据库结构时遇到问题。我的表的结构是这样的。

用户表:

课程

每当教师和学生登录系统时,我都使用单个用户表对他们进行身份验证。“类型”列用于定义用户类型,即管理员、教师和学生。

现在问题来了。系统要求是:

要求

如何在 laravel 中为这种情况构建数据透视表,因为根据我的想法,这就是我的想法。

course_user

但是我无法确定这门课程是分配给这个老师的,而这个老师已经使用同一个数据透视表让这个学生注册了这个特定的课程。

请帮我解惑。

谢谢....

标签: phpmysqllaravel

解决方案


使用额外的文件管理器创建两个关系函数,如下所示:

class Course extends Model
{
...
    public function teachers()
    {
        return $this->belongsToMany(User::class)->where('type', '=', User::TEACHER);
    }

    public function students()
    {
        return $this->belongsToMany(User::class)->where('type', '=', User::STUDENT);
    }
}

我假设您在 User 类中使用类常量。


推荐阅读