2 回答

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

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