Yii2.0高级框架数据库增删改查的一些操作

yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。

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();    //返回一个值指示是否包含查询结果的数据行;

yii2的group查询,以用户为例:

User::find()->addGroupBy('title')->all();根据title进行分组

1、增加 (insert)

$model = new User();
$model->username = '小伙儿';
$model->insert();

对数据库 删除的一些简单的操作,还是老样子,上面我写代码,如果样式混乱,我会附上截图。还是用 user 表为例

User::deleteAll('name = 小伙儿');    删除 name = 小伙儿 的数据;
User::findOne($id)->delete(); 删除主键为 $id变量 值的数据库;
User::deleteAll('age > :age AND sex = :sex', [':age' => '20', ':sex' => '1']);  删除符合条件的数据;

推荐阅读:从零开始学YII2框架(一)通过Composer安装Yii2框架,相信对大家学习yii2会有所帮助的。

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
本文分享了php结合ajax实现无刷新上传图片的实例代码,分享给大家,希望大家可以和小编一起学习学习,共同进步。 1.引入文件 !--图片上传begin--script type="text/javascript" src="/js/jquery.form.js"/scriptscript type="text/javascript" src="/js/uploadImg.js"/scriptlink href=#> 2.html部分 div class="upimg" input name="icon"

教大家制作简单的php日历 - 2015-11-19 15:11:54

最近的一个项目中,需要将数据用日历方式显示,网上有很多的JS插件,后面为了自己能有更大的控制权,决定自己制作一个日历显示。如下图所示: 一、计算数据 1、new一个Calendar类 2、初始化两个下拉框中的数据,年份与月份 3、初始化要搜索的年份和月份 4、计算得出日历中每一天的数据信息,包括css、天数 ?php require_once 'calendar.php'; $util = new Calendar(); $years = array(2012, 2013, 2014, 2015, 201
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。 废话不多说了,直接给大家贴代码了。 ?phpclass ContactForm extends CFormModel{ public $_id; public $contact;//联系人 public $tel;//电话 public $fax;//传真 public $zipcode;//邮编 public $addr;//地址 public $mobile;//手机 pub

使用PHP uniqid函数生成唯一ID - 2015-11-19 14:11:40

生成唯一ID的应用场景非常普遍,如临时缓存文件名称,临时变量,临时安全码等,uniqid()函数基于以微秒计的当前时间,生成一个唯一的 ID。由于生成唯一ID与微秒时间关联,因此ID的唯一性非常可靠。 生成的唯一ID默认返回的字符串有 13 个字符串长,如果不定义唯一ID的前缀,最多可返回23个字符串长,如果再结合md5()函数,生成的唯一ID可靠性将更高,这种生成的ID比随机性的ID 最大优点在于可实现排序,特别是一些需要存储在数据库中的值。 一,函数原型 string uniqid ( [string
YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证表单安全和信息的有效性。还是给大家具体说明一下: 以下是视图(views)部分的简单代码: ?php $form=$this-beginWidget('CActiveForm', array( 'id'='tag-form', 'enableAjaxValidation'=fa
关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢? 当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随机数是最好的方法,且不重复; 2. 如果需要使用数据库,即你还需要给这个id关联一些其他的数据。那就给MySQL数据库中的表的id一个AUTO_INCREMENT(自增)属性,每次插入一条数据时,id自动+1,然后使用mysql_insert_id()或LAST_INSERT_I

PHP的运行机制与原理(底层) - 2015-11-19 14:11:35

说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还; 最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终
一、下载Eclipse的PHP插件 百度搜索phpeclipse,看到某条结果是带有SourceForge.net字样的,点进去,找到Download按钮,点击之后,等待5秒就会开始下载了。 二、安装Eclipse的PHP插件 插件下载完成之后,解压,然后把site.xml删掉(大部分插件不用删这个文件,但是PHPEclipse必须删),最后把整个文件夹复制到Eclipse的dropins文件夹里面,重启Eclipse即可。 三、在Eclipse新建PHP工程和新建PHP文件 在插件安装成功的前提下,新建
在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量。 具体文字说明不给大家多说了,下面通过代码实例给大家讲解。 比如 link rel="stylesheet" type="text/css" href=#> 中的href和src加上版
在php中设置session有很多方面包有给session设置值或直接设置过期、失效和有效期,下面小编来给大家给各位朋友介绍怎么使用。 我们先来看看在php.ini中session怎么设置,打开 php.ini,查找Session设置部分中以下一项,代码如下: session.save_path = "N;/path" session.save_path = "C:/Temp" #此处以你自己设定的路径为准 这项设置提供给我们可以给session存放目录进行多级散列,其中“N”表示要设置的目录级数,后面的