Yii 增删改查 测试记录
亲们, 我是yii小白 不要笑话我奥。今天白天写一个管理模块涉及到 yii ar 下的 curd 操作,做 update 操作时纠结了好久,今天晚上花点时间学习, 下面写下我的测试记录
代码如下:
     public function actionIndex(){
         // 写入数据
         //yii  ar  curd  之   insert
         $_POST['Users']['sex'] = 2;
         $_POST['Users']['username'] = 'xiaohua';
         $model = new Users;
         $model->attributes = $_POST['Users'];
         $rt = $model->save();
         if($rt) {
             Yii::app()->user->setFlash('success','写入成功了');
             $this->redirect(array('index/test'));
         } else {
             Yii::app()->user->setFlash('error','失败了');
             $this->redirect(array('index/test'));
         }
         // 查询数据
         //get one data by field
         $hh = Users::model()->find(
               'username=:name',array(':name'=>'fzb')
             );
         print_r($hh['username']);
         //get one data by id
         $hh = Users::model()->findByPk(1);
         print_r($hh['username']);
         //get all
         $hh = Users::model()->findAll();
         print_r($hh);
         //  修改数据
         // update  one
         $model = new Users;
         $count = $model->updateByPk(5,array('username'=>'admin','sex'=>1));
         if($count) {
             Yii::app()->user->setFlash('success','修改成功了');
             $this->redirect(array('index/test'));
         } else {
             Yii::app()->user->setFlash('error','修改失败了');
             $this->redirect(array('index/test'));
         }
     }
---分页查询
一般写法:
$criteria = new CDbCriteria;
$count = DnOnline::model()->count($criteria);
$pages = new CPagination($count);               
$pages->pageSize = 5;
$pages->applylimit($criteria);
$model = DnOnline::model()->findAll($criteria);
记得控制器里有个函数paginate($itemCount,$pageSize=null,$pageVar=null)
CDB写法:
$criteria = new CDbCriteria;
$sql = "SELECT * FROM USER";
$model= Yii::app()->db->createCommand($sql)->queryAll();
$pages = new CPagination(count($model));               
$pages->pageSize = 4;
$pages->applylimit($criteria);
$model=Yii::app()->db->createCommand($sql." LIMIT :offset,:limit");
$model->bindValue(':offset', $pages->currentPage*$pages->pageSize);
$model->bindValue(':limit', $pages->pageSize);
$model=$model->queryAll();
或者:
$criteria = new CDbCriteria;
      $connection=Yii::app()->db; 
      $sql="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id ";
      $model= Yii::app()->db->createCommand($sql)->queryAll();
      $pages = new CPagination(count($model));               
      $pages->pageSize = 4;
      $pages->applylimit($criteria);
$model=Yii::app()->db->createCommand($sql." LIMIT :offset,:limit");
      $model->bindValue(':offset', $pages->currentPage*$pages->pageSize);
      $model->bindValue(':limit', $pages->pageSize);
      $model=$model->queryAll();
yii 删除
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 增删改查 测试记录的更多相关文章
- java-数据库连接,分层实现增删改查测试
		成员属性类: public class Dog { private int number; private String name; private String strain; private St ... 
- eclipse控制台下实现jdbc简单的增删改查测试
		1.现在MySQL中创建一个表 2.首先创建一个类 //导入的包 import java.sql.Connection;import java.sql.DriverManager;import jav ... 
- Yii增删改查操作
		增: 1 第一种 $post=new Post; $post->title='sample post'; $post->content='content for the sample po ... 
- yii增删改查
		一.查询数据集合 1.$admin=Admin::model()->findAll($condition,$params);//该方法是根据一个条件查询一个集合,如: findAll( ... 
- Hibernate框架增删改查测试类归为一个类
		package cn.happy.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org ... 
- 014-Go Web 对pg增删改查测试
		1:data/data.go package data import( "fmt" "database/sql" _"github.com/lib/p ... 
- python3配置文件的增删改查,记录一下
		#!/usr/bin/env python3 import json #json模块,用于将像字典的字符串转换为字典 import re #re模块,查找替换 import shutil #copy文 ... 
- delphi,增删改查问题记录
		新增时获取新的主键方法 1.oracle :sys_guid() 写法: 2.sql:pGetGUID 写法: {**************************************** ... 
- JPA-day02 项目结构 编写增删改查测试类
随机推荐
- 九度OJ1008
			这道题其实就是一个简单的Dijkstra变形,只是要考虑重边的情况. 当在更新图中点到起点的距离时,将花费p也计算在内:如果长度与之前计算的值相等,则再考虑此时花费p是否会更少,是的话则仍然要更新最短 ... 
- hibernate one-to-many many-to-one 双向注解
			建表语句: DROP TABLE IF EXISTS `t_company`; CREATE TABLE `t_company` ( `companyId` ) unsigned NOT NULL A ... 
- 【转】特殊权限控制之SUID、SGID、Sticky
			原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://soysauce93.blog.51cto.com/7589461/1715583 ... 
- Spring定时任务配置
			可参照http://gong1208.iteye.com/blog/1773177 的详细配置 <!-- 系统定时任务工厂类 --> <bean id="systemDes ... 
- Java GUI 画点
			import java.awt.EventQueue; public class Paint { private JFrame frame; /** * Launch the application. ... 
- 慧自文档:代替 Everything 来快速查找文件的,实现文件显示在文件夹的层次结构中
			1. 搜索功能和Everything一样快和强大 具有 Everything 搜索快.搜索功能强等优点, 解决了不能方便选择搜索哪个文件夹, 解决了不能同一个画面进行预览等问题 2.文件直接显示到文件 ... 
- 基于Web的企业网和互联网的信息和应用( 1194.22 )
			基于Web的企业网和互联网的信息和应用( 1194.22 ) 原文更新日期: 2001年6月21日原文地址: http://www.access-board.gov/sec508/guide/1194 ... 
- Virtualenv介绍
			[翻译]http://virtualenv.readthedocs.org/en/latest/index.html virtualenv是创建独立python环境的一种工具. 环境搭建的过程中,有一 ... 
- 文件系统取证分析(第11章:NTFS概念)
			/* Skogkatt 开始翻译于2015-01-24,仅作为学习研究之用,谢绝转载. 2015-01-31更新MFT entry 属性概念. 2015-02-01翻译完成. 译注:我翻译这本书的这三 ... 
- Flex应用一览表
			1.Flex控件之repeater和radioButton控件应用 2.Flex之DataGrid和Tree控件的数据源XML格式 3.Flex控件之combobox应用 4.转:Flex的Arra ... 
