通过laravel雄辩的关系获取信息

时间:2017-08-25 05:18:25

标签: php laravel

我有3个模型,用户,个人资料,大学 我与

建立了关系

用户模型

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。 有什么问题?

2 个答案:

答案 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; 

答案 1 :(得分:0)

您必须与个人资料模型和大学模式建立关系

个人资料模型

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

大学模式

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

现在尝试:

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