首页 > 数据库 >yii的一些数据库查询方式(一)

yii的一些数据库查询方式(一)

时间:2023-01-02 23:36:35浏览次数:40  
标签:name 数据库 yii find User 查询 where id userInfo


本篇文章会详细介绍and、or、between、in、like在where方法中的使用方法和举例。


and


​​// 我们要查询id大于1并且小于3的数据​​        


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'and'​​ ​​ , ​​ ​​'id > 1'​​ ​​ , ​​ ​​'id < 3'​​ ​​])->all();​​


​​// 或者用以下方式,更为安全​​


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'and'​​ ​​ , [​​ ​​'>'​​ ​​ , ​​ ​​'id'​​ ​​ , 1] , [​​ ​​'<'​​ ​​ , ​​ ​​'id'​​ ​​ , 3]])->all();​​


​​// 往往我们会处理比这更复杂的sql​​


​​// 假如我们要查询name是王五 并且 id大于1或者id小于3的数据​​


​​$userInfo​​ ​​ = User::find()->where(​​


​​[​​ ​​'and'​​ ​​ , ​​


​​[​​ ​​'='​​ ​​ , ​​ ​​'name'​​ ​​ , ​​ ​​'王五'​​ ​​] , ​​


​​[​​ ​​'or'​​ ​​ , ​​


​​[​​ ​​'='​​ ​​ , ​​ ​​'id'​​ ​​ , 1] , ​​


​​[​​ ​​'='​​ ​​ , ​​ ​​'id'​​ ​​ , 3]​​


​​]​​


​​])->asArray()->all();​​


​​// 注:asArray()方法会将数据以数组的方式显示​​



or


​​// 我们要查询id等于1或者id等于3的数据​​        


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'or'​​ ​​ , ​​ ​​'id = 1'​​ ​​ , ​​ ​​'id = 3'​​ ​​])->all();​​


​​// 我们同样可以使用以下方式​​


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'or'​​ ​​ , [​​ ​​'='​​ ​​ , ​​ ​​'id'​​ ​​ , 1] , [​​ ​​'='​​ ​​ , ​​ ​​'id'​​ ​​ , 3]])->all();​​


​​// 假如我们要查询id在4,8,9范围内 或者 id在1,2,3范围内呢?​​


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'or'​​ ​​ , [​​ ​​'id'​​ ​​ => [4,8,9]] , [​​ ​​'id'​​ ​​ => [1,2,3]]])->all();​​



between

​​// 我们要查询id在1到10的范围之内​​        


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'between'​​ ​​ , ​​ ​​'id'​​ ​​ , 1 , 10])->all();​​




in

​​// 我们要查询id在1、2、3的范围内​​        


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'in'​​ ​​ , ​​ ​​'id'​​ ​​ , [1,2,3]])->all();​​




like

​​// 我们要查询name中包含“张”这个字符的数据​​        


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'like'​​ ​​ , ​​ ​​'name'​​ ​​ , ​​ ​​'张'​​ ​​])->all();​​


​​// 我们假如要通配name中包含“张”这个字符,而且还得包含“三”这个字符​​


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'like'​​ ​​ , ​​ ​​'name'​​ ​​ , [​​ ​​'张'​​ ​​ , ​​ ​​'三'​​ ​​]])->all();​​


​​// 我们假如只需要通配左边即可​​


​​$userInfo​​ ​​ = User::find()->where([​​ ​​'like'​​ ​​ , ​​ ​​'name'​​ ​​ , ​​ ​​'%三'​​ ​​ , false])->all();​​


​​// 所以,右边也是同样​​






标签:name,数据库,yii,find,User,查询,where,id,userInfo
From: https://blog.51cto.com/u_13400164/5984324

相关文章

  • 常用的LinQ查询表达式之from
    Linq查询表达式包含8个常用的子句:from、where、select、join、into、orderby、group、let。from:指定查询操作的数据源和范围变量from子句指定了要作为数据源使用的数据......
  • jango框架:Q查询进阶操作、ORM查询优化、ORM事务操作、ORM常用字段类型、ORM常用字段
    目录Q查询进阶操作ORM查询优化ORM查询优化之only与deferORM查询优化之select_related与prefetch_relatedORM事务操作ORM常用字段类型ORM常用字段参数Ajax异步提交基础语法......
  • 实时分析数据库 Druid,Mark 一下
    持之以恒,贵在坚持,每天进步一点点!前言Druid 则是一个分布式的支持实时分析的数据存储系统(DataStore)。Druid设计之初的想法就是为分析而生,它在处理数据的规模、数据处理的......
  • ORM查询优化、ORM事务操作、ORM相关字段类型及参数
    ORM查询优化、ORM事务操作、ORM相关字段类型及参数目录ORM查询优化、ORM事务操作、ORM相关字段类型及参数ORM查询优化ORM事务操作ORM常用字段类型ORM自定义字段类型ORM常......
  • SQL注入之查询方式和报错盲注
    当进行SQL注入时,有很多注入会出现无回显的情况,其中不回显的原因可能就是SQL语句查询方式的问题导致,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,......
  • 聚合与分组查询、F与Q查询
    聚合与分组查询、F与Q查询目录聚合与分组查询、F与Q查询图书管理系统聚合查询分组查询ORM如何给表再次添加新的字段F与Q查询图书管理系统#表设计 先考虑普通字段再考......
  • SQL Server创建dblink跨库查询
    dblink是跨库查询的主要手段,在Oracle创建DbLink中已经演示了Oracle中如何创建及使用DbLink,这篇博客看看SQLServer中如何使用。一、通过图形化界面直接创建选择当前注册......
  • 数据库编程接口Libpq 2
    1.4异步函数   使用函数​​PQexec​​​​执行SQL命令很方便,但也有下面的缺点:​​·        ​​PQexec​​​​必须等到发出的命令执行结束才会返回,如果命......
  • PostgreSQL 数据库集群和PL/Proxy配置安装指南
    ​​PL/Proxy​​​和​​PostgreSQL​​​集群的结构关系可以用下图清楚地表示,对PL/Proxy和PostgreSQL集群还不太了解的朋友可以看​​SkypePlansforPostgreSQLtoScal......
  • mysql数据库的分区与分表(概念性说明)
    为什么要分区或者分表分区、分表都是解决数据量大,查询数据慢的主要手段。正常情况下一个innodb表,在没有分区分表情况下。在数据库文件数据中,它是有一个存储表结构的.frm文件......