如何在Laravel 5.2中为表格选择关系?

时间:2016-09-16 14:44:14

标签: laravel join laravel-5.2 foreign-key-relationship database-relations

我创建了三个表:

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

在我的评级表上,我想将学生的评分记录到特定的老师。每个学生都可以给老师一次评分。他可以评价其他老师但不是同一位老师。

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

1 个答案:

答案 0 :(得分:1)

由于每位学生只能为教师评分一次,因此最直接的方法是将student_idteacher_id列添加到Rating表,并将其用作关系中的外键。< / p>

然后您可以在学生模型中定义关系:

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

和教师模型:

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

详细了解一对多关系:

https://laravel.com/docs/5.3/eloquent-relationships#one-to-many