2 回答

TA貢獻(xiàn)1873條經(jīng)驗 獲得超9個贊
在您的用戶模型中,關(guān)系應(yīng)該是belongsTo()
public function subject(){
return $this->belongsTo('App\Subject','subject_id','id');
}
現(xiàn)在您可以訪問您的主題名稱 Auth::user()->subject->subject_name
正如您所說,一個用戶只有一個主題,因此用戶 只屬于一個主題。
主題可以有多個用戶,這意味著HasMany。 用戶模型 ->所屬主題 主題模型 ->擁有用戶的HasMany
請在此處查看更多信息。https://laravel.com/docs/5.8/eloquent-relationships#one-to-many

TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
在您的用戶模型中,關(guān)系應(yīng)該是belongsTo()
public function subject(){
return $this->belongsTo('App\Subject','subject_id','id');
}
現(xiàn)在您可以訪問您的主題名稱 Auth::user()->subject->subject_name
正如您所說,一個用戶只有一個主題,因此用戶 只屬于一個主題。
主題可以有多個用戶,這意味著HasMany。 用戶模型 ->所屬主題 主題模型 ->擁有用戶的HasMany
請在此處查看更多信息。https://laravel.com/docs/5.8/eloquent-relationships#one-to-many您的belongsToMany關(guān)系導(dǎo)致了問題。它導(dǎo)致 laravel 認(rèn)為有一個名為subject_user的數(shù)據(jù)透視表,但遺憾的是沒有數(shù)據(jù)透視表。所以改變你的關(guān)系到belongsTo
public function subject(){
return $this->belongsTo('App\Subject','subject_id');
}
這是另一個問題。在可填充數(shù)組中的用戶模型中,沒有 subject_id。所以subject_id 不會保存在數(shù)據(jù)庫中。將此添加到您的可填充數(shù)組中。
- 2 回答
- 0 關(guān)注
- 167 瀏覽
添加回答
舉報