Yii2.0 对的一些简单的操作
1: 此方法返回 ['name' => 'daxia'] 的所有数据;
User::find()->where(['name' => 'daxia'])->all();
2: 此方法返回 ['name' => 'daxia']的一条数据
User::find()->where(['name' => 'daxia'])->one();
3: 在条件name的基础上,额外添加另一个条件sex
User::find()->where(['name' => 'daxia'])->andWhere(['sex' => '女'])->one();
或者:
User::find()->where(['name' => 'daxia', 'sex' => '女'])->one();
说明: 这两种方法都是可以的
4: andFilterWhere/andWhere应用: 在[1427925600-1427968800]之间查询
User::find()->andFilterWhere(['between', 'regtime', '1427925600', '1427968800’])
说到andFilterWhere,下面我把用到的各种的情况示例列出:
1) : sql: id=1 AND id=2
条件: ['and', 'id=1', 'id=2']
2) : sql: id=1 OR id=2
条件: ['or', 'id=1', 'id=2']
3) : sql: id BETWEEN 1 AND 10
条件: ['between', 'id', 1, 10]
4) : sql: id IN (1, 2, 3)
条件: ['in', 'id', [1, 2, 3]]
5) : sql: name LIKE '%tester%' 模糊查询
条件: ['like', 'name', 'tester']
6) : sql: age>10
条件: ['>', 'age', 10]
5: orderBy() 应用
sql: ORDER BY `id` ASC, `name` DESC
Yii对应的model书写如下:
$query->orderBy([
'id' => SORT_ASC, 升序 默认
'name' => SORT_DESC, 降序
]);
6: groupBy() 应用:
sql: ... GROUP BY `id`, `status`
Yii对应的model书写如下:
$query->groupBy(['id', 'status']);
7: having()应用:
sql: ... HAVING `status` = 1
Yii对应的model书写如下:
$query->having(['status' => 1]);
8: limit() offset() 应用:
sql: ... LIMIT 10 OFFSET 20
Yii对应的model书写如下
$query->limit(10)->offset(20);
9: 用自己书写的sql语句,去查询符合的数据
User::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;
User::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;
说明: 测试 - 你也许想要测试或者使用一个由 yii\db\Query 对象创建的 SQL 语句。 你可以使用以下的代码来达到目的:
$query->createCommand()->getRawSql();
下面就是官网上面展示的,一些比较常见的查询方法:
yii\db\Query 提供了一整套的用于不同查询目的的方法。
● yii\db\Query::all(): 将返回一个由行组成的数组,每一行是一个由名称和值构成的关联数组(译者注:省略键的数组称为索引数组)。
● yii\db\Query::one(): 返回结果集的第一行。
● yii\db\Query::column(): 返回结果集的第一列。
● yii\db\Query::scalar(): 返回结果集的第一行第一列的标量值。
● yii\db\Query::exists(): 返回一个表示该查询是否包结果集的值。
● yii\db\Query::count(): 返回 COUNT 查询的结果。
● 其它集合查询方法: 包括 yii\db\Query::sum(), yii\db\Query::average(), yii\db\Query::max(), yii\db\Query::min() 等. $q 是一个必选参数, 既可以是一个字段名称,又可以是一个 DB 表达式。
Yii2.0 对的一些简单的操作的更多相关文章
- [moka同学笔记]yii2.0小物件的简单使用(第二种方法)
1.在widgets/TestWidget.php中 <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * T ...
- [moka同学笔记]yii2.0小物件的简单使用(第一种方法)
这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...
- yii2.0 在save保存之前的操作(放在模型model文件内)
public function beforeSave($insert){ if(parent::beforeSave($insert)) { if($insert) { } else { } retu ...
- 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- yii2.0操作数据库
首先不得不说yii2.0面向对象的比较彻底,建议没学过或者没学好面向对象的同学再看看面向对象. 其次切入正题. 先创建数据库,这步自己写. DROP TABLE IF EXISTS `country` ...
- Yii2.0简单隐藏index.php文件和模块配置和layout布局配置禁用和日志写入配置
隐藏index.php文件 目的:想去掉浏览器地址栏中的 index.php?r= 这一块. 在/config/web.php中 ’components'=>[] 中添加如下代码: 'u ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
随机推荐
- android Base64 加密
一 Base64加密 import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStre ...
- bitnami redmine版本由2.3.1升级至3.2.2过程
环境: 操作系统为ubuntu13.**版本,非长期支持版. 安装目录:/opt/redmine-2.3.1-0/ 所有者用户:root 安装过程: 1. 备份2.3.1数据库 sudo /opt/r ...
- javascript - 状态模式 - 简化分支判断流程
状态模式笔记 当一个对象的内部状态发生改变时,会导致行为的改变,这像是改变了对象 状态模式既是解决程序中臃肿的分支判断语句问题,将每个分支转化为一种状态独立出来,方便每种状态的管理又不至于每次 ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- 15天玩转redis —— 第十篇 对快照模式的深入分析
我们知道redis是带有持久化这个能力了,那到底持久化成到哪里,持久化成啥样呢???这篇我们一起来寻求答案. 一:快照模式 或许在用Redis之初的时候,就听说过redis有两种持久化模式,第一种是S ...
- 如何监控ORACLE索引使用与否
在数据库管理与维护中,我们总会遇到一个问题:我们创建的索引是否会被某些SQL语句使用呢?换个通俗表达方式:我创建的索引是否是未使用的索引(unused Indexes),是否有价值呢?如果创建的某个索 ...
- 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
一.序言 陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...
- mysql小技巧
将一列值赋予另一列 会遇到新增一列, 需要用其他列的值来初始化这一列 或者根据业务条件把某行的某列值直接赋予到其他列. 行号 列1 列2 1 aaa ddd 2 bbb ccc UPDATE 表 SE ...
- 制作Mac安装盘U盘
1. 下载对应版本的mac安装文件, 复制到mac上, 解压后应该是一个类似于 Install OS X [version name].app 的目录, 复制到/Applications 2. 将U盘 ...
- [LeetCode] Second Highest Salary 第二高薪水
Write a SQL query to get the second highest salary from the Employee table. +----+--------+ | Id | S ...