关系和查询相关模型
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 }}
假设您已命名字段名称。
我正在尝试判断我是否做对了某件事。我有一个部门模型。一个部门可以有多个部门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 }}
假设您已命名字段名称。