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

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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
1年前 评论
Swww18 (楼主) 1年前
讨论数量: 4

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

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

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