加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读