YII 1.0 增删改查
查询
查询多条返回数据集合
//1.该方法是根据一个条件查询一个集合
$admin=Admin::model()->findAll($condition,$params);
$admin=Admin::model()->findAll("username=:name",array(":name"=>$username)); //2. findAllByPk(该方法是根据主键查询一个集合,可以使用多个主键)
$admin=Admin::model()->findAllByPk($postIDs,$condition,$params);
$admin=Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age));
$admin=Admin::model()->findAllByPk(array(1,2)); //3.findAllByAttributes (该方法是根据条件查询一个集合,可以是多个条件,把条件放到数组里面)
$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params);
$admin=Admin::model()->findAllByAttributes(array('username'=>'admin')); //4.findAllBySql (该方法是根据SQL语句查询一个数组)
$admin=Admin::model()->findAllBySql($sql,$params);
$admin=Admin::model()->findAllBySql("select * from admin where username like :name",array(':name'=>'aaa%'));
查询一条返回对象
/根据主键查询出一个对象,如:findByPk(1);
$admin=Admin::model()->findByPk($postID,$condition,$params);
$admin=Admin::model()->findByPk(1); //根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据
$row=Admin::model()->find($condition,$params);
$row=Admin::model()->find('username=:name',array(':name'=>'admin')); //该方法是根据条件查询一组数据,可以是多个条件,把条件放到数组里面,查询的也是第一条数据
$admin=Admin::model()->findByAttributes($attributes,$condition,$params);
$admin=Admin::model()->findByAttributes(array('username'=>'admin')); //该方法是根据SQL语句查询一组数据,他查询的也是第一条数据
$admin=Admin::model()->findBySql($sql,$params);
$admin=Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin')); //拼一个获得SQL的方法,在根据find查询出一个对象
$criteria=new CDbCriteria;
$criteria->select='username'; // only select the 'title' column
$criteria->condition='username=:username';
$criteria->params=array(":username=>'admin'");
$criteria->order = "id DESC";
$criteria->limit = "3";
$post=Post::model()->find($criteria); // $params isnot needed
查询个数,判断查询是否有结果
//该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字
$n=Post::model()->count($condition,$params);
$n=Post::model()->count("username=:name",array(":name"=>$username)); //该方法是根据SQL语句查询一个集合有多少条记录,返回一个int型数字
$n=Post::model()->countBySql($sql,$params);
$n=Post::model()->countBySql("select * from admin where username=:name",array(':name'=>'admin')); //该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到
$exists=Post::model()->exists($condition,$params);
$exists=Post::model()->exists("name=:name",array(":name"=>$username));
添加
$categoryModel = new Category(); //new 一个model,然后使用save(),就是添加
$categoryModel->inputtime = time();
$categoryModel->cname = $_POST['Category']['cname'];
if($categoryModel->save()){
$this->redirect(array('index'));
}
$categoryModel = new Category();
$categoryModel->attributes = $_POST['Category']; //测试不能添加多字段,还没有找到解决方法
if($categoryModel->save()){
$this->redirect(array('index'));
}
解决方法
model Category 的rules方法中验证的字段才会插入数据库,如果不需要验证字段还要插入数据库可以
array('type,catid,description,thumb,content,inputtime,updatetime','safe'),
修改
$categoryModel = Category::model();
$categoryInfo = $categoryModel->findByPk($id); //返回的还是对象,要是findAllByPk()就不行,返回的不是对象,会报错
if(isset($_POST['Category'])){
$categoryInfo->cname = $_POST['Category']['cname'];
$categoryInfo->inputtime = $_POST['Category']['inputtime'];
if($categoryInfo->save()){
$this->redirect(array('index'));
}
}
$this->render('edit',array('categoryModel'=>$categoryInfo));
删除
$categoryModel = Category::model();
$isnot = Article::model()->findBySql("select * from {{article}} where catid = $id");
if($isnot){
Yii::app()->user->setFlash('hasArt', '栏目下面有文章,请先删除文章');
$this->redirect(array('index'));
}else{
if($categoryModel->deleteByPk($id)){ //根据主键删除数据
$this->redirect(array('index'));
}
}
YII 1.0 增删改查的更多相关文章
- yii2.0增删改查实例讲解
yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...
- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...
- MVC ---- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...
- Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...
- VUE2.0增删改查附编辑添加model(弹框)组件共用
Vue实战篇(增删改查附编辑添加model(弹框)组件共用) 前言 最近一直在学习Vue,发现一份crud不错的源码 预览链接 https://taylorchen709.github.io/vue- ...
- HBase1.2.0增删改查Scala代码实现
增删改查工具类 class HbaseUtils { /** * 获取管理员对象 * * @param conf 对hbase client配置一些参数 * @return 返回hbase的HBase ...
- yii添加行的增删改查
效果图: 控制器: <?phpnamespace backend\controllers;use Yii;use yii\web\Controller;use backend\models\Zh ...
- Yii框架的增删改查总结分析
一.查询数据 1.findAll(根据一个条件查询一个集合) $admin=Admin::model()->findAll($condition,$params); $admin=Admin:: ...
- yii2.0增删改查
//关闭csrf public $enableCsrfValidation = false; 1.sql语句 //查询 $db=\Yii::$app->db ->createCommand ...
随机推荐
- 转 ogg组件介绍
应用场景:数据分发 ogg的组件: (1) OGG 程序和工具说明 convchk 转换ogg版本的信息 ,该程序可以将checkpoint files 转换成新版本: convprm :OG ...
- Init.rc分析(刘举奎)
http://www.360doc.com/content/14/0926/20/13253385_412582822.shtml
- CSS——宽高问题大汇总
1.宽高继承 他们是要属性的,并不是直接就能继承,inherit. 2.浮动的盒子不要给宽,宽度由内容来决定
- 针对iOS10的各种问题的解决方法
1.iOS10相册相机闪退bug: iOS10系统下调用系统相册,相机功能,遇到闪退的情况,描述如下: This app has crashed because it attempted to acc ...
- mysql安装使用----1 安装和启动
1 安装 Fedora16/17 Mysql 安装及配置 1.安装 Mysql Server # yum install mysql mysql-server 2.开启 MySQL server 及开 ...
- SpringMVC接收页面表单参数-java-电脑编程网
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- jquery选择器 之 获取父级元素、同级元素、子元素 - yes的日志 - 网易博客
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- thinkphp中的ajax分页
thinkphp中用ajax分页和普通的ajax分页的区别在于处理位置的不同,thinkphp是在控制器的方法中处理ajax传的值,然后返回数据.下面是一个点击事件触发后,显示的内容用ajax分页. ...
- (简单) LightOJ 1074 Extended Traffic,SPFA+负环。
Description Dhaka city is getting crowded and noisy day by day. Certain roads always remain blocked ...
- (简单) POJ 3087 Shuffle'm Up,枚举。
Description A common pastime for poker players at a poker table is to shuffle stacks of chips. Shuff ...