本文实例讲述了yii的CURD操作技巧。分享给大家供大家参考。具体分析如下:

CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作。本文来讲讲Yii框架的CURD操作。

一、查询数据集合

1、

$admin=Admin::model()->findAll($condition,$params);该方法是根据一个 条件查询一个集合,如:

findAll('username=:name',array(':name'=>$username));

2、

$admin=Admin::model()->findAllByPk($postIDs,$condition,$params);

findAllByPk($id,'name like ':name' and age=:age',array(':name'=>$name,'age'=>$age));该方法是根据主键查询一个集合,可以使用多个主键,如:

findAllByPk(array(1,2));

3、

$admin=Admin::model()-> findAllByAttributes($attributes,$condition,$params);该方法是根据条件查询一个集合,可以是多个条件,把条件放到数组里面,如:

findAllByAttributes(array('username'=>'admin'));

4、

$admin=Admin::model()->findAllBySql($sql,$params);该方法是根据SQL语句查询一个数组,如:

findAllBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

二、查询对像的方法

1、

$admin=Admin::model()->findByPk($postID,$condition,$params);根据主键查询出一个对象,如:findByPk(1);

2、

$row=Admin::model()->find($condition,$params);根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据,如:

find('username=:name',array(':name'=>'admin'));

3、

$admin=Admin::model()-> findByAttributes($attributes,$condition,$params);该方法是根据条件查询一组数据,可以是多个条件,把条件放到数组里面,他查询的也是第一条数据,如:

findByAttributes(array('username'=>'admin'));

4、

$admin=Admin::model()->findBySql($sql,$params);该方法是根据SQL语句查询一组数据,他查询的也是第一条数据,如:

findBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

5、拼一个获得SQL的方法,在根据find查询出一个对象

$criteria=new CDbCriteria;

$criteria->select='username'; // only select the 'title' column

$criteria->condition='username=:username';

$criteria->params=array(':username=>'admin');

$post=Post::model()->find($criteria); // $params isnot needed

三、查询个数,判断查询是否有结果

1、

$n=Post::model()->count($condition,$params);该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字,如

count('username=:name',array(':name'=>$username));

2、

$n=Post::model()->countBySql($sql,$params);该方法是根据SQL语句查询一个集合有多少条记录,返回一个int型数字,如

countBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

3、

$exists=Post::model()->exists($condition,$params);该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到

四、添加的方法

$admin=newAdmin;

$admin->username=$username;

$admin->password=$password;

if($admin->save()>0){

echo '添加成功';

}else{

echo '添加失败';

}

五、修改的方法

1、

Post::model()->updateAll($attributes,$condition,$params);

$count =Admin::model()->updateAll(array('username'=>'11111′,'password'=>'11111′),'password=:pass',array(':pass'=>'1111a1′));

if($count>0){

echo '修改成功';

}else{

echo '修改失败';

}

2、

Post::model()->updateByPk($pk,$attributes,$condition,$params);

$count =Admin::model()->updateByPk(1,array('username'=>'admin','password'=>'admin'));

$count =Admin::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin'));

if($count>0){

echo '修改成功';

}else{

echo '修改失败';

}

$pk 代表主键,可以是一个也可以是一个集合,$attributes代表是要修改的字段的集合,$condition代表条件,$params传入的值

3、

Post::model()->updateCounters($counters,$condition,$params);

$count=Admin::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));

if($count>0){

echo '修改成功';

}else{

echo '修改失败';

}

array('status'=& gt;1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自加1

六、删除的方法

1、

Post::model()->deleteAll($condition,$params);

$count = Admin::model()->deleteAll('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin'));

$id=1,2,3

deleteAll('id in('.$id.')');删除id为这些的数据

if($count>0){

echo '删除成功';

}else{

echo '删除失败';

}

2、

Post::model()->deleteByPk($pk,$condition,$params);

$count = Admin::model()->deleteByPk(1);

$count =Admin::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin'));

if($count>0){

echo '删除成功';

}else{

echo '删除失败';

}

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

curd操作php代码,yii的CURD操作实例详解相关推荐

  1. android java 写文件操作_Android编程之文件的读写实例详解

    本文实例分析了Android编程之文件的读写方法.分享给大家供大家参考,具体如下: Android的文件读写与JavaSE的文件读写相同,都是使用IO流.而且Android使用的正是JavaSE的IO ...

  2. 如何在js代码中消灭for循环实例详解

    转载自:https://www.jb51.net/article/144662.htm 补充一:看来很多人没看完文章就评论了.我在文章末尾说了,是不写 for 循环,不是不用 for 循环.简单陈述不 ...

  3. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python

    这篇文章主要为大家详细介绍了unittest+coverage单元测试代码覆盖操作的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于上一篇文章,这篇文章是关于使用coverage来实现代码 ...

  4. android代码删除wifi,Android Wifi的forget()操作实例详解_Android_脚本之家

    Android  Wifi的forget()操作实例详解 我们在处理某个Wifi连接时,有时会需要忘掉当前连接的密码信息.执行这项操作,我们需要调用WifiManager::forget()函数: / ...

  5. pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...

  6. php gearman 定时任务,php使用gearman进行任务分发操作实例详解

    php使用gearman进行任务分发操作实例详解,创建一个,客户端,操作,实例,回调 php使用gearman进行任务分发操作实例详解 易采站长站,站长之家为您整理了php使用gearman进行任务分 ...

  7. python 经典脚本文件_Python3.5文件读与写操作经典实例详解

    本文实例讲述了Python3.5文件读与写操作.分享给大家供大家参考,具体如下: 1.文件操作的基本流程: (1)打开文件,得到文件句柄并赋值给一个变量 (2)通过句柄对文件进行操作 (3)关闭文件 ...

  8. mongodb java查询_java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...

  9. 微信小程序php返回数组,微信小程序 数组(增,删,改,查)等操作实例详解...

    微信小程序 数组(增,删,改,查)等操作 最近在做一个小程序的demo.由于不向后台请求数据,所以就涉及到对本地数据的操作,也遇到了一些坑,本文就以数组的增删改查为例,给新手分享一些经验. 首先这是原 ...

最新文章

  1. 灰色预测原理及JAVA实现
  2. 如何在网页中添加flash文件
  3. StartSSL申请全过程 让网站拥有免费SSL证书
  4. linux上的用户管理
  5. Linux 新增一个用户命令 adduser
  6. Servlet - cookie、session、servletContext概述
  7. 聊聊 rel=noopener
  8. linux服务之NTP及chrony时间同步
  9. 升流式水解酸化反应器设计计算_《HJ 2047-2015 水解酸化反应器污水处理工程技术规范》.pdf...
  10. 接口整理——对接“外联网关”
  11. compile函数使用
  12. 微信音乐回复时出现“链接无效,无法播放”的情况
  13. 奇迹mu技术分享:奇迹服务端中的【DATA】文件详细说明
  14. DOTween的常用方法
  15. 伦斯勒理工大学计算机专业,伦斯勒理工学院计算机科学硕士排名第60(2020年TFE Times排名)...
  16. 【luminate primordial】苏州之行
  17. 解决vue项目路由出现message: “Navigating to current location (XXX) is not allowed“的问题
  18. 游戏策划小白笔记——Common Sense(一)
  19. write as a reader
  20. java implement和extends

热门文章

  1. 【Spring】Spring复习之基础和IOC
  2. DOS下载入ISO镜像!
  3. ThinkPHP 6.0 phpspreadsheet操作Excel表格实例
  4. 2021考研数学一李永乐660题【习题册+答案册】
  5. 一文教你写出高效的软件测试用例!微信朋友圈动态发送为例
  6. 互联金融风控-多头借贷
  7. idea学习系列五之debug及插件的使用
  8. Excel函数公式:IF函数和AND、OR函数的组合多条件判断技巧
  9. vue SSR : 原理(一)
  10. 数据结构——校园导游系统