欢迎来到代码驿站!

PHP代码

当前位置:首页 > 软件编程 > PHP代码

Yii2增删改查之查询 where参数详细介绍

时间:2021-03-16 10:21:35|栏目:PHP代码|点击:

概述

由于官方手册关于where的介绍比较少,所以想自己整理一下,以便大家的学习和自己回头查询。本篇文章会详细介绍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();
// 所以,右边也是同样

上一篇:php使用wordwrap格式化文本段落的方法

栏    目:PHP代码

下一篇:PHP的PDO操作简单示例

本文标题:Yii2增删改查之查询 where参数详细介绍

本文地址:http://www.codeinn.net/misctech/81835.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有