Yii2框架实现数据库常用操作总结


Posted in PHP onFebruary 08, 2017

通用:

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 相关文章推荐
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
探讨php define()函数及defined()函数使用详解
Jun 09 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
ThinkPHP连接数据库的方式汇总
Dec 05 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
php数值计算num类简单操作示例
May 15 PHP
Yii2实现中国省市区三级联动实例
Feb 08 #PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 #PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 #PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 #PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 #PHP
php实现XML和数组的相互转化功能示例
Feb 08 #PHP
PHP 获取指定地区的天气实例代码
Feb 08 #PHP
You might like
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php数据库备份还原类分享
2014/03/20 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
基于python实现百度翻译功能
2019/05/09 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
创业计划书——互联网商机
2014/01/12 职场文书
应届生求职自荐信
2014/07/04 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
招商银行收入证明
2015/06/17 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS