如何在Laravel 5.2中选择表的关系



我已经创建了三个表:

Student(ID, username), Teacher(ID, name) and Rating(ID, rating)

在我的评分表中,我想记录学生对特定老师的评分。每个学生只能给老师评价一次。他可以评价别的老师,但不能评价同一个老师。

在这种情况下,哪种关系更适合?我是Laravel的新手。

由于每个学生只能评价一个老师一次,最直接的方法是将student_idteacher_id列添加到Rating表中,并将它们用作关系中的外键。

然后你可以定义学生模型中的关系:

class Student extends Model
{
 ... 
    // Ratings given by the student
    public function ratings()
    {
        return $this->hasMany('AppRating');
    }
}

和Teacher模型:

class Teacher extends Model
{
 ... 
    // Ratings received by the teacher
    public function ratings()
    {
        return $this->hasMany('AppRating');
    }
}

阅读更多关于一对多的关系:

https://laravel.com/docs/5.3/eloquent-relationships一对多

相关内容

  • 没有找到相关文章

最新更新