关系和查询相关模型

Relationships and querying related models

我正在尝试判断我是否做对了某件事。我有一个部门模型。一个部门可以有多个部门Objective。我也设置了逆。所以这段关系很好。

然后我有一个用户模型。一个用户可以有多个用户 Objective,这个设置很好。然而,在我的 user_objectives table 中,有一个 link 到部门 Objective

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

因此用户 objective link 被分配到部门 objective。这是我需要在我的模型中指定的东西吗?那么我的用户Objective的模型应该有

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');
    }
}

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

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

然后会显示部门的id objective 也是相关的。如何获取部门名称objective?

感谢任何建议

谢谢

改变这个

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

在你看来你可以调用

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

假设您已命名字段名称。