Yii2框架实现数据库常用操作总结
更新时间:2017年2月18日 22:11 点击:2296
通用:
use yii\db\Query; $query = new Query();
查询:
Query:
$rows = (new \yii\db\Query()) ->select(['code', 'name', 'population']) ->from('country') ->limit(10) ->all();
Select:
$data = $query->select(['code', 'name'])->from('country')->all(); // 调用 yii\db\Query::addSelect() 方法来选取附加字段 $data = $query->select(['code', 'name']) ->addSelect(['population'])->all();
From:
$query->from('country'); $query->from(['public.country c']); $query->from('public.country c');
Where:
字符串格式,例如:'status=1'
哈希格式,例如: ['status' => 1, 'type' => 2]
操作符格式,例如:['like', 'name', 'test']
andFilterWhere() orFilterWhere()
Active Record (活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性Attribute)映射到数据行的对应列。 一条活动记录(AR对象)对应数据表的一行,AR对象的属性则映射该行的相应列。
这里的增删改都会用到AR对象进行映射操作。
增加
$country->name = 'UK'; $country->save();
修改
$country = Customer::findOne($id); $country->email = 'UK'; $country->save(); // 等同于 $country->update();
删除
$country = Country::findOne($id); $country->delete();
其他
User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键 id=1 的一条数据; User::find()->where(['name' => 'ttt'])->one(); //返回 ['name' => 'ttt'] 的一条数据; User::find()->where(['name' => 'ttt'])->all(); //返回 ['name' => 'ttt'] 的所有数据; User::findBySql('SELECT * FROM user')->all(); //用 sql 语句查询 user 表里面的所有数据; User::findBySql('SELECT * FROM user')->one(); //此方法是用 sql 语句查询 user 表里面的一条数据; User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id'); //统计符合条件的总条数; User::find()->one(); //返回一条数据; User::find()->all(); //返回所有数据; User::find()->count(); //返回记录的数量; User::find()->average(); //返回指定列的平均值; User::find()->min(); //返回指定列的最小值 ; User::find()->max(); //返回指定列的最大值 ; User::find()->scalar(); //返回值的第一行第一列的查询结果; User::find()->column(); //返回查询结果中的第一列的值; User::find()->exists(); //返回一个值指示是否包含查询结果的数据行;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
下一篇: PHP面相对象中的重载与重写
相关文章
- 这篇文章主要为大家详细介绍了node.js从数据库获取数据的具体代码,nodejs可以获取具体某张数据表信息,感兴趣的朋友可以参考一下...2016-05-09
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
这篇文章主要介绍了Linux下为Node.js程序配置MySQL或Oracle数据库的方法,这里默认已经装配好了Node环境然后我们利用npm包管理工具来进行配置,需要的朋友可以参考下...2016-03-22- 这篇文章主要介绍了yii数据库的查询方法,结合实例简单分析了直接查询和使用criteria进行查询的技巧,需要的朋友可以参考下...2015-12-31
- 这篇文章主要介绍了Yii2创建表单(ActiveForm)的方法,结合实例形式详细分析了Yii创建表单的详细步骤及相关函数与属性的使用技巧,需要的朋友可以参考下...2016-07-29
- 这篇文章主要介绍了PHP之深入学习Yii2缓存Cache组件详细讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-07-27
- 带搜索功能下拉框在项目中经常会用到,下面小编把实现代码分享到脚本之家平台,供大家参考...2016-05-13
- yii2的一个强大之处之一就是他的Form组件,既方便又安全。本文给大家介绍yii2中的rules 自定义验证规则,需要的朋友参考下...2016-04-23
- 这篇文章主要介绍了MySQL数据库优化技术之索引使用方法,结合实例形式总结分析了MySQL表的优化、索引设置、SQL优化等相关技巧,非常具有实用价值,需要的朋友可以参考下...2016-07-29
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题Yii2可以在视图层View中使用$this->context这个对象去获得。下面通过示例代码给大家讲解下...2017-04-03Mysql 数据库死锁过程分析(select for update)
最近有项目需求,需要保证多台机器不拿到相同的数据,后来发现Mysql查询语句使用select.. for update经常导致数据库死锁问题,下面小编给大家介绍mysql 数据库死锁过程分析(select for update),对mysql数据库死锁问题感兴趣的朋友一起学习吧...2015-12-14- 这篇文章主要介绍了YII2实现多语言配置的方法,文中YII2的版本是2.0.7,可能会与其他教程有不同,有需要的朋友可以参考借鉴,下面来一起看看吧。...2017-01-15
- 这篇文章主要介绍了Yii2实现让关联字段支持搜索功能的方法,结合实例形式分析了Yii2关联字段搜索功能的原理与相关实现技巧,需要的朋友可以参考下...2016-08-27
- 这篇文章主要介绍了Yii2基于Ajax自动获取表单数据的方法,涉及Yii结合ajax调用鼠标事件动态查询表单的相关技巧,需要的朋友可以参考下...2016-08-27
- 本篇文章主要介绍了Yii2框架实现数据库常用操作总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-02-18
- 在我们装mysql数据库时,出现安装失败是一件非常令人烦恼的事情,接下来小编就给大家带来在我们安装mysql数据库失败的一些解决方法,感兴趣的小伙伴们可以参考一下...2016-05-20
- 这篇文章主要介绍了Zend Framework数据库操作方法,结合实例形式总结分析了Zend Framework数据库操作相关函数使用技巧与注意事项,需要的朋友可以参考下...2017-01-08
- 这篇文章主要为大家详细介绍了MySQL创建数据库的两种方法,感兴趣的小伙伴们可以参考一下...2016-06-12
- 这篇文章主要介绍了CI框架数据库查询之join用法,结合实例形式分析了join方法在数据库查询过程中的使用技巧,需要的朋友可以参考下...2016-05-20
- 这篇文章主要介绍了yii2分页之实现跳转到具体某页的实例代码的相关资料,需要的朋友可以参考下...2016-06-12
- yii2集成另外一个强大好用的富文本编辑器Redactor。接下来通过本文给大家介绍Yii2集成富文本编辑器redactor实例教程,感兴趣的朋友一起学习吧...2016-04-28