先交代下数据表结构

  • 主表(订单表)order数据
ord_id order_sn
1 EX2019100123458

其中主键为order_id(订单id)

  • 子表(门票表)order_item数据
ord_ite_id ord_id exhibit_sn type
1 1 EXSN20191001001 1
2 1 EXSN20191001002 1
3 1 EXSN20191001003 1

主表与子表之间通过 ord_id进行关联

实现:通过通过子表的 type(门票类型)查询主表中的订单编号

第一种尝试:

select DISTINCT `order`.ord_id from `order` INNER JOIN order_item on order.ord_id = order_item.ord_id where type = 1;

这种方法可以实现但是在laravel中如果想分页的话需要这么使用

DB::table(DB::raw("sql语句"))->paginate(15);

但是这样的话我们相当于使用的原生sql语句,但是如果在添加条件的话只能去拼接sql语句啦

第二种尝试:

select `order`.ord_id,`order`.order_sn from `order` INNER JOIN (select distinct ord_id from order_item) r on `order`.ord_id=r.ord_id

在larave中使用

Order::join(DB::raw("(select distinct order_item.ord_id item_ord_id,type from order_item) ".env("DB_PREFIX")."bb"),"bb.item_order_id","exhibit_order.order_id")->paginate(15);

这样我们可以继续使用 where() 方法来添加条件

laravel 中将一对多关联查询的结果去重处理的更多相关文章

  1. 7.mybatis一对多关联查询

    和第5节一对一查询类似,但是不同的是,一对一使用的是association,而一对多使用collection. 实例: 1个班级Class,对应1个老师Teacher,对应多个学生Student 1. ...

  2. [转]NHibernate之旅(10):探索父子(一对多)关联查询

    本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...

  3. MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)

    MyBitis(iBitis)系列随笔之一:MyBitis入门实例 MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM) MyBitis(iBitis ...

  4. MyBatis从入门到放弃四:一对多关联查询

    前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collection属性,别忽略了ofType属性. 搭建开发 ...

  5. MyBatis:一对多关联查询

    MyBatis从入门到放弃四:一对多关联查询 前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collecti ...

  6. MyBatis关联查询,一对多关联查询

    实体关系图,一个国家对应多个城市 一对多关联查询可用三种方式实现: 单步查询,利用collection标签为级联属性赋值: 分步查询: 利用association标签进行分步查询: 利用collect ...

  7. mybatis一对多关联查询+pagehelper->分页错误

    mybatis一对多关联查询+pagehelper->分页错误. 现象: 网上其他人遇到的类似问题:https://segmentfault.com/q/1010000009692585 解决: ...

  8. mybatis collection 一对多关联查询,单边分页的问题总结!

    若想直接通过sql实现多级关联查询表结构得有2 个必不可少的字段:id ,parentId,levelId id:主键id, parentId:父id levelId:表示第几级(表本身关联查询的时候 ...

  9. MyBatis4——一对一、一对多关联查询

    关联查询: 一对一: 1.业务扩展类     核心:用resultType指定的类的属性包含多表查询的所有字段. 2.resultMap     通过添加属性成员建立两个类之间的连接 <!--利 ...

随机推荐

  1. CentOS 7 配置 nginx php-fpm 详细教程

    CentOS 7 配置 Nginx 的步骤如下: 首先更新 yum,没有安装 yum 的自行安装 yum update 1. 安装 Nginx yum install nginx 开启 Nginx 并 ...

  2. Office Tool Plus

    https://otp.landian.vip/zh-cn/index.html 本软件支持Microsoft Office办公软件最新版本高速下载.卸载.修复.定制化安装.静默安装等诸多功能. 同时 ...

  3. openresty开发系列14--lua基础语法3函数

    openresty开发系列14--lua基础语法3函数 一)function (函数) 有名函数: optional_function_scope function function_name( ar ...

  4. (待续)【转载】 DeepMind发Nature子刊:通过元强化学习重新理解多巴胺

    原文地址: http://www.dataguru.cn/article-13548-1.html -------------------------------------------------- ...

  5. C++11使用make_shared的优势和劣势

    Why Make_shared ? C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::s ...

  6. layui时间控件闪退的问题

    项目上线,发现后台管理系统layui的子页面出现时间控件闪退的问题,根本选取不到时间. 其原因是:如果出现页面找到多个节点,只有第一个节点能正常使用后面的节点都会闪退,可以理解为目前laydate不支 ...

  7. Spring cloud微服务安全实战-3-8API安全机制之Https

    Https访问 1.验证双方的身份. 2.一旦建立连接,对数据进行封装加密 这里先生成一个自己自签的证书,不是第三方颁发的,第三方颁发的要花钱. 第二是做一些配置,让程序支持https 安装了java ...

  8. 用KNN实现iris的4分类问题&测试精度

    import matplotlib.pyplot as plt from scipy import sparse import numpy as np import matplotlib as mt ...

  9. Locust-参数化批量注册(还没试,目测试可以的)

    前言 实现场景:所有并发虚拟用户共享同一份测试数据,并且保证虚拟用户使用的数据不重复.例如,模拟10用户并发注册账号,总共有100个手机号,要求注册账号不重复,注册完毕后结束测试 准备数据 虚拟用户 ...

  10. 123457123456#0#----com.ppGame.HappyShuXue54--前拼后广--儿童数学_pp

    com.ppGame.HappyShuXue54--前拼后广--儿童数学_pp