2017-08-25 111 views
1

我具有3個模型,用戶,檔案,大學 我設置了與laravel雄辯關係獲取信息

用戶模型

public function profile(){ 
    return $this->hasOne('App\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

In Profile model add;

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

你必須與剖面模型和大學的模式

剖面模型

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

大學的模式,

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

現在嘗試的關係:

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

你基本上是說每個大學都有一個檔案(學生) –