yii2连表查询

$list = Setting::find()->alias(‘s‘)
            ->where([‘s.store_id‘ => $this->store_id])
            ->leftJoin(‘{{%qrcode}} q‘, ‘q.store_id=s.store_id and q.is_delete=0‘)
            ->select([‘s.level‘, ‘q.qrcode_bg‘])
            ->asArray()->one();

  

原文地址:https://www.cnblogs.com/liju/p/9908536.html

时间: 2024-11-25 17:27:54

yii2连表查询的相关文章

Yii2 联表查询数据丢失,即出现主键覆盖情况的解决方法

前段时间做项目,遇到一个问题,用yii2的AR连表查询数据的时候,理应该查出来更多的数据,但是实际得到的只有部分数据: 例如,有这么一个查询: $query = OperaHotelRoom::find() ->select(['a.ID','a.ROOM_NAME','a.PARENT_ROOM_TYPE']) ->joinWith('runHotel b') ->from('opera_hotel_room a') ->where(['a.HOTEL_ID' => 197

yii2的多表查询

使用 leftjoin方法 多表查询带分页 这里是三表查询的都是同一张表. 如果是不同表就把 ->leftJoin 里的 Area::tableName() 换成自己业务需求的表 1 $query = Area::find()->andWhere(['a.is_delete'=>0,'a.level'=>4,'a.is_open'=>1]); 2 3 $query->select('a.name,a.id,a.parent_id,c.name AS city_name,

yii2中关联查询

yii2 ActiveRecord多表关联以及多表关联搜索的实现 一个老生常谈的问题.最近通过群里的反馈,觉得很多人还是没有去理解这个问题.今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联以及如何去优化这个关联. 场景需求: 假设我们有一张用户表user和一张用户渠道表auth,两张数据表通过user.id和auth.uid进行一对一关联.现需要在user列表展示auth表的来源渠道source,且该渠道可搜索. 首先我们先通过gii生成user和auth系列相关的

Mysql数据库理论基础之五--SELECT单多表查询、子查询、别名

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

web day16 数据库 完整性约束,mySQL编码问题,备份与恢复,多表查询

约束 * 约束是添加在列上的,用来约束列的! 1. 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用**** * 当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现. * 创建表时指定主键的两种方式: > CREATE TABLE stu( sid      CHAR(6) PRIMARY KEY, sname     VARCHAR(20), age         INT, gender     VARCHAR(10) ); 指定sid列为主键列,即为s

python3 mysql 多表查询

python3 mysql 多表查询 一.准备表 创建二张表: company.employee company.department #建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male'

07-查询操作(DQL)-多表查询

一. 综述   查询操作主要从两个方面来说:单表查询和多表查询. 多表查询包括:笛卡尔积.外键约束.内连接查询.外链接查询.自连接查询. 二 . 案例设计   1.  设计产品表(product).包括:主键id.产品名称(productName).分类编号(dir_id).零售价(salePrice).供应商(supplier).品牌(brand).折扣(cutoff).成本价(costPrice). 设计产品产品编号表( productdir). 包括:主键id.编号名称( dirName)

SQL联表查询

数据库中最最常用的语法----select.简单的select语法很直白: select column from table where expression: 从((from)存储数据的地方(table)按照(where)一定的条件(expression)查找(select)我要的数据(column); 但是在实际工作中用到的比较多的往往还是多联表查询,所以在这里记下自己学习多联表查询的心得. 首先聊一聊笛卡尔积,这是几乎所有数据库书籍在讲多联表查询时第一个要讲的东西,我等P民也只能是把笛卡尔

Day04 多表查询

1. 笛卡尔集 笛卡尔集会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 为了避免笛卡尔集, 可以在 WHERE加入有效的连接条件. 2. Oracle连接 3. 等值连接 4. 表的别名 5. 连接多个表 6. 非等值连接 7. 内连接和外连接 8. 自连接 9. 1999连接 SQL语句的多表查询方式: 例如:按照department_id查询employees(员工表)和departments(部门表) 的信息. 方式一(通用型):SELECT ... FROM