我有一個有點獨特的情況在這裏,我有3個型號:Degree
,Student
和Consultant
。創建屬於許多關係,超過2個模型envolved
學生和顧問之間有多對多的關係。
此外,學位和學生之間還有多對多的關係。
我可以爲上述關係中的每一個設置2個數據透視表,
但是這裏重要的是:一個具體學位的學生可以有1位顧問。
換句話說,創建2個單獨的數據透視表,並不能告訴我哪位顧問對於特定用戶的程度如何。
在這裏我可以想到的2個解決方案:
第一個是創建一個數據透視表3個的外鍵,如:
student_id | degree_id | consultant_id
這樣我可以知道誰是學生的顧問,爲特定的度。
但是,這是一種構建數據庫的標準方式嗎?
另外,我應該爲此創建一個Pivot模型嗎?
代碼段會是什麼樣子?
另一種方法我能想到的是,創建2代獨立的樞軸表的,並在其它一個引用一個透視表id
。
因此,這看起來就像是這樣的:
degree_student:student_id | degree_id
consultant_student:student_id | consultant_id | **degree_student_id**
再次,這是一個標準的做法?
我應該爲此創建一個Pivot模型嗎?
進行最後討論,我會接受任何其他解決方案建議,更好(/標準)。