Php Laravel使用find雄辩地连接三个连接
您好,我希望使用Eloquent加入三个Eloquent模型,以便从Php Laravel使用find雄辩地连接三个连接,php,laravel,join,laravel-4,eloquent,Php,Laravel,Join,Laravel 4,Eloquent,您好,我希望使用Eloquent加入三个Eloquent模型,以便从项目中检索分配的状态名称,该项目将保存在分配的项目板状态中。assigned_project_board_status表有两个外键。表架构如下: id |项目| id |状态| id |订单|创建|更新|在 project\u id和status\u id是外键 我拥有的模型有: 项目(表名项目)、状态(表名:状态)和分配的项目板状态(表名:分配的项目板状态) 我可以通过执行以下操作检索分配给项目的状态: Project::fi
项目
中检索分配的状态
名称,该项目将保存在分配的项目板状态
中。assigned_project_board_status
表有两个外键。表架构如下:
id |项目| id |状态| id |订单|创建|更新|在
project\u id
和status\u id
是外键
我拥有的模型有:
项目
(表名项目
)、状态
(表名:状态
)和分配的项目板状态
(表名:分配的项目板状态
)
我可以通过执行以下操作检索分配给项目的状态:
Project::find(3)->assignedprojectboardstatus代码>
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');
}
public function assignedProjectBoardStatus() {
return $this->hasMany('AssignedProjectBoardStatus');
}
app/models/Status.php
public function projects() {
return $this->belongsTo('Project');
}
public function statuses() {
return $this->belongsTo('Status');
}
public function assignedProjectBoardStatus() {
return $this->hasMany('AssignedProjectBoardStatus');
}
如果我想检索名称
和订单字段,那么我可以如何扩展它以加入状态
模型呢?您可以急切地加载所有相关模型:
$project = Project::with(['assignedProjectBoardStatuses', 'assignedProjectBoardStatuses.statuses'])->find(3);
现在您可以访问中的AssignedProjectBoardStatus集合
$project->assignedProjectBoardStatuses
在每一个屏幕上,您都可以使用
$project->assignedProjectBoardStatuses[0]->status