关系和查询相关模型

时间:2016-07-01 10:01:30

标签: laravel laravel-5 laravel-5.1

如果我做得对,我正在尝试解决问题。我有一个部门模型。一个部门可以有很多部门目标。我也设置了逆。所以这种关系很好。

然后我有一个用户模型。用户可以有很多用户目标,这个设置很好。但是,在我的user_objectives表中,有一个指向部门目标的链接

$table->integer('department_objectives_id')->unsigned()->default(0);
$table->foreign('department_objectives_id')->references('id')->on('department_objectives')->onDelete('cascade');

因此,用户目标与部门目标相关联。这是我需要在模型中指定的吗?那么我的UserObjectives模型应该

class UserObjectives extends Model
{
    use SoftDeletes;

    protected $table = 'user_objectives';
    protected $guarded = [];

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

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

出于某种原因,这样做似乎有点奇怪。无论如何,当我当前创建用户目标时,会选择一个部门目标,并将ID存储到部门目标中。所以在我看来,我可以做这样的事情

{{dd($objective->department_objectives_id)}}

这也将显示与其相关的部门目标的ID。我怎样才能得到部门目标的名称?

任何adivce赞赏

由于

1 个答案:

答案 0 :(得分:1)

更改此

{{dd($objective->department_objectives_id)}}

在您看来,您可以致电

{{ $objective->departmentObjectives->name }}

假设您已命名名称字段名称。