请教下远程一对多,怎么把关联表的数据也打印出来

1. 问题描述?

目前我的订单表,一个订单关联多条检测信息,然后一条检测信息对应一个用户信息,表关系类似如下

Order 订单表

id
order_id 订单编号
content …

Check 检测信息表

id
express_order_id 订单编号
result_value 值
user_id 用户id

User 用户信息表

id 用户的id
name 用户信息
sex 性别

3. 您期望得到的结果?

目前想通过订单表来查询其关联的检测信息和检测信息对应的用户信息

4. 您实际得到的结果?

return $this->hasManyThrough(
            User::class,
            Check::class,
            'express_order_id',
            'id',
            'order_id',
            'user_id'
        );

通过远程一对多关联,只查了订单的信息和用户信息,中间的检测信息没有查询到,想请教下各位,中间的检测表的数据,我也想一同获得,应该怎么做?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
2年前 评论
Swww18 (楼主) 2年前
讨论数量: 4

如果是想通过中间表再加个条件,可以加个闭包,会把sql自动加进去, 尝试这个

$order->with(['users' => function($q) {
      // your condition, 例如 加 result_value值的过滤
      $q->where('result_value', $result_value);
}]);
2年前 评论
Swww18 (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!