获取关联的属性

时间:2019-07-29 14:33:04

标签: php laravel orm eloquent

我需要从关联的表中获取一些数据,但是我无法处理。我有带功能的下表。

Class User
{
    public function lastGoals()
    {
        return $this->hasMany('App\UserGoals')->last()->with('data');
    }
}
Class UserGoals
{
    protected $fillable = [
        'user_id', 'goal_id'
    ];

    public function data()
    {
        return $this->hasOne('App\CreatorGoals', 'id', 'goal_id');
    }

    public function goalsBelong()
    {
        return $this->belongsTo('App\CreatorGoals', 'goal_id', 'id');
    }
}
Class CreatorGoals
{
    protected $fillable = [
        'id', 'label', 'type'
    ];

    public function scopeFront($query)
    {
        return $query->select('id', 'label', 'type')->where('is_front', 1);
    }
}

我需要使用UserID及其标签来获取所有UserGoals,

现在我有:

$data = User::user(Auth::guard('web')->user()->id)->with('lastGoals')->first();

我有一组用户,但我不知道要获取每个用户目标的标签。我尝试过:

$data->lastGoals->data->label;
$data->lastGoals->label;
$data->data->lastGoals->label;

但是我仍然有错误。如何获取每个用户目标的标签?

0 个答案:

没有答案