我已經創建了三個表:如何爲Laravel 5.2中的表格選擇關係?
Student(ID, username), Teacher(ID, name) and Rating(ID, rating)
在我的評分表我想學生的評價記錄到特定的教師。每個學生可以只對一位教師評分一次。他可以評價其他教師,但不是同一位老師。
在這種情況下,哪種關係更適合?我是Laravel的新手。
我已經創建了三個表:如何爲Laravel 5.2中的表格選擇關係?
Student(ID, username), Teacher(ID, name) and Rating(ID, rating)
在我的評分表我想學生的評價記錄到特定的教師。每個學生可以只對一位教師評分一次。他可以評價其他教師,但不是同一位老師。
在這種情況下,哪種關係更適合?我是Laravel的新手。
由於每個學生只能對教師進行一次評估,因此最直接的方法是將student_id
和teacher_id
列添加到Rating
表中,並將它們用作關係中的外鍵。
然後你就可以定義在學生模型的關係:
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
歡迎來到StackOverflow。請閱讀我們的[問]頁面提示如何改善您的問題。 偉大的問題往往會提供更快,更好的社區回答。 一個好的開始是爲他人添加一個[mcve]來更快地排除故障。 – ochi