yii2框架怎么写子查询

发布时间 - 2019-12-09 00:00:00    点击率:

在yii中使用子查询的方法

第一步,先创建一个子查询,可以是基于 yii\db\Query 创建,也可以基于Model。

$subQuery = Order::find()
->where(['user_id' => $userId])
->andWhere(['status' => $status]);

也可以增加排序,分页,比如:

$subQuery->orderBy(['id' => SORT_ASC])
->offset($offset)
->limit($pageSize);

接下来就可以在我们的主查询中使用这个子查询了,只要是在mysql中可以写子查询的地方,都可以直接使用这个子查询。

$list = (new Query())->select($field)
->from(['order' => $subQuery]) // 在这里使用了子查询
->leftJoin(['goods' => OrderGoods::tableName()], 'order.id = goods.order_id')
->createCommand()
->queryAll();

最终生成的语句

SELECT
*
FROM
( SELECT
* 
FROM
`od_order` 
WHERE
( `user_id` = '1' ) 
ORDER BY
`id` ASC
LIMIT 10 OFFSET 1 
) `order`
LEFT JOIN `od_order_goods` `goods` ON `order`.id = goods.order_id

PHP中文网,有大量免费的Yii入门教程,欢迎大家学习!


# php  # mysql  # YII  # 使用这个  # 是在  # 在这里  # 中文网  # 可以直接  # 分页  # 欢迎大家  # 创建一个  # 就可以  # 使用了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel怎么为数据库表字段添加索引以优化查询  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何用花生壳三步快速搭建专属网站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何撰写建站申请书?关键要点有哪些?  如何在IIS中新建站点并解决端口绑定冲突?  如何快速搭建高效WAP手机网站吸引移动用户?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  制作电商网页,电商供应链怎么做?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  iOS中将个别页面强制横屏其他页面竖屏  Python高阶函数应用_函数作为参数说明【指导】  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  网站建设整体流程解析,建站其实很容易!  如何基于PHP生成高效IDC网络公司建站源码?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何在云主机上快速搭建多站点网站?  如何基于云服务器快速搭建个人网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  黑客入侵网站服务器的常见手法有哪些?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  如何登录建站主机?访问步骤全解析  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  如何在Ubuntu系统下快速搭建WordPress个人网站?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何快速重置建站主机并恢复默认配置?  微信推文制作网站有哪些,怎么做微信推文,急?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  *服务器网站为何频现安全漏洞?  微信小程序 闭包写法详细介绍  中山网站制作网页,中山新生登记系统登记流程?  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  C语言设计一个闪闪的圣诞树  HTML 中动态设置元素 name 属性的正确语法详解  如何在宝塔面板创建新站点?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何在IIS7上新建站点并设置安全权限?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  高性价比服务器租赁——企业级配置与24小时运维服务  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】