嗨,我希望使用雄辩来连接三个雄辩模型,以便从statuses
中检索分配的name
project
,它将保存在assigned_project_board_statuses
中。assigned_project_board_statuses
表有两个外键表架构如下:id|project_id|status_id|order|created_at|updated_at
project_id
和status_id
是外键。
我有的模型是:Project
(表名projects
)、Status
(表名:statuses
)和AssignedProjectBoardStatus
(表名:assigned_project_board_statuses
)。
我可以通过执行以下操作来检索分配给项目的状态:Project::find(3)->assignedProjectBoardStatuses;
app/models/project.php软件
public function assignedProjectBoardStatuses() {
return $this->hasMany('AssignedProjectBoardStatus','project_id')->orderBy('order','asc');
}
app/models/assignedprojectboardstatus.php
public function projects() {
return $this->belongsTo('Project');
}
public function statuses() {
return $this->belongsTo('Status');
}
app/models/status.php
public function assignedProjectBoardStatus() {
return $this->hasMany('AssignedProjectBoardStatus');
}
有什么想法可以将其扩展到加入
status
模型,因为我理想地希望检索name
和order字段? 最佳答案
您可以急切地加载所有相关模型:
$project = Project::with(['assignedProjectBoardStatuses', 'assignedProjectBoardStatuses.statuses'])->find(3);
现在您可以在中访问assignedprojectboardstatus的集合
$project->assignedProjectBoardStatuses
在它们中的每一个上,您都可以使用
$project->assignedProjectBoardStatuses[0]->status