2017-08-25 157 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

你基本上是说每个大学都有一个档案(学生) –