2017-08-25 25 views
1

私が3モデル、ユーザー、プロファイル、大学 を持って情報を取得する私はlaravel雄弁関係

Userモデルプロファイルで

public function profile(){ 
    return $this->hasOne('App\Profile'); 
} 

Profileモデル

public function user(){ 
    return $this->belongsTo('App\User'); 
} 

との関係を設定テーブルには、外部キーとしてuniversity_id & user_idカラムが含まれます。大学モデル

public function user(){ 
    return $this->belongsTo('App\User'); 
} 

は、今私は$discussion->user->profile->university->nameでデータを取得したいが、それはTrying to get property of non-objectを返します。 問題は何ですか?

+0

$ discussion = ....そうするべきですか? –

+0

あなたは大学の名前を取得したいですか? –

答えて

0

プロファイルモデル追加。

public function university(){ 
    return $this->belongsTo('App\University'); 
} 
public function user(){ 
    return $this->belongsTo('App\User'); 
} 

大学モデルでは、

public function profile(){ 
    return $this->hasMany('App\Profile'); 
} 

$discussion->profile->university->name; 
+0

ありがとうたくさん..... – masterhunter

0

あなたはプロファイルモデルと大学のモデル

Profileモデル

Public function university () { 
    return $this->belongsTo ('App\University') 
} 

大学のモデル今

Public function profile () { 
    return $this->belongsTo ('App\Profile') 
} 

してみてくださいとの関係を作る必要があります:

$discussion->user->profile->university->name 
+0

あなたは基本的に、各大学には1つのプロフィール(学生)があり、 –