php – Laravel eloquent使用find加入三个连接
发布时间:2020-12-14 19:42:29 所属栏目:大数据 来源:网络整理
导读:嗨我希望使用Eloquent加入三个Eloquent模型,以便从将在assigned_project_board_statuses中保存的项目中检索指定的状态名称. assigned_project_board_statuses表有两个表模式如下所示的外键: ID | PROJECT_ID | STATUS_ID |订单| created_at |的updated_at p
嗨我希望使用Eloquent加入三个Eloquent模型,以便从将在assigned_project_board_statuses中保存的项目中检索指定的状态名称. assigned_project_board_statuses表有两个表模式如下所示的外键:
ID | PROJECT_ID | STATUS_ID |订单| created_at |的updated_at project_id和status_id是外键. 我的模型是: 项目(表名项目),状态(表名:状态)和AssignedProjectBoardStatus(表名:assigned_project_board_statuses). 我可以通过执行以下操作检索已分配的项目状态: 项目::发现(3) – > assignedProjectBoardStatuses; 应用程序/模型/ Project.php public function assignedProjectBoardStatuses() { return $this->hasMany('AssignedProjectBoardStatus','project_id')->orderBy('order','asc'); } 应用程序/模型/ AssignedProjectBoardStatus.php public function projects() { return $this->belongsTo('Project'); } public function statuses() { return $this->belongsTo('Status'); } 应用程序/模型/ Status.php public function assignedProjectBoardStatus() { return $this->hasMany('AssignedProjectBoardStatus'); } 任何想法我如何扩展这也加入状态模型,因为我想要检索名称和订单字段? 解决方法
您可以急切加载所有相关模型:
$project = Project::with(['assignedProjectBoardStatuses','assignedProjectBoardStatuses.statuses'])->find(3); 现在您可以访问AssignedProjectBoardStatus的集合了 $project->assignedProjectBoardStatuses 并且每个人都可以使用状态访问状态 $project->assignedProjectBoardStatuses[0]->status (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |