亲们, 我是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 增删改查 测试记录的更多相关文章

  1. java-数据库连接,分层实现增删改查测试

    成员属性类: public class Dog { private int number; private String name; private String strain; private St ...

  2. eclipse控制台下实现jdbc简单的增删改查测试

    1.现在MySQL中创建一个表 2.首先创建一个类 //导入的包 import java.sql.Connection;import java.sql.DriverManager;import jav ...

  3. Yii增删改查操作

    增: 1 第一种 $post=new Post; $post->title='sample post'; $post->content='content for the sample po ...

  4. yii增删改查

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

  5. Hibernate框架增删改查测试类归为一个类

    package cn.happy.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org ...

  6. 014-Go Web 对pg增删改查测试

    1:data/data.go package data import( "fmt" "database/sql" _"github.com/lib/p ...

  7. python3配置文件的增删改查,记录一下

    #!/usr/bin/env python3 import json #json模块,用于将像字典的字符串转换为字典 import re #re模块,查找替换 import shutil #copy文 ...

  8. delphi,增删改查问题记录

    新增时获取新的主键方法 1.oracle :sys_guid()   写法: 2.sql:pGetGUID  写法: {**************************************** ...

  9. JPA-day02 项目结构 编写增删改查测试类

随机推荐

  1. No data in the view dba_hist_undostat (文档 ID 1558157.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11. ...

  2. 你不知道的JavaScript 二

    词法作用域 上次说到作用域,将其定义为一套规则,这套规则用来管理引擎如何在当前作用 域以及嵌套的子作用域中根据标识符名称进行变量查找. 作用域共有两种主要的工作模型.第一种是最为普遍的,被大多数编程语 ...

  3. Android ImageView 详述

    结构 继承关系 public classView.OnClickListner extendsView java.lang.Object android.view.View android.widge ...

  4. xml规范及xml解析

    http://www.cnblogs.com/wang-meng/p/5374498.html 1,XML基础介绍 xml的概念: XML 指可扩展标记语言(EXtensible Markup Lan ...

  5. python写的battle ship小游戏 - 1.0

    最近学python,这是今天写的一个小游戏. from random import randint class Board(object): board = [] def __init__(self, ...

  6. Atom 编辑器插件:amWiki 轻文库

    amWiki 是一款基于 Javascript 脚本语言.依赖 Atom 编辑器.使用 Markdown 标记语法的轻量级开源 wiki 文库系统. amWiki 致力于让大家可以更简单.更便捷的建设 ...

  7. CSS3里的常用选择器总结

    选择器       属性选择器:  img[src="images/2.jpg"]               开头匹配:  a[href ^="page/"] ...

  8. JDK源码分析之集合02ArrayList

    一.前言 有了前一篇对集合类的概述,我们知道ArrayList是属于Collection类系中的一个具体实现类,其特点是长度可以动态改变,集合内部使用数组保存元素.下面我们对源码进行分析. 二.Arr ...

  9. 帕金森定律(Parkinson's Law)

    帕金森定律(Parkinson's Law)是官僚主义或官僚主义现象的一种别称, 是由英国历史学家.政治学家西里尔·诺斯古德·帕金森(Cyril Northcote Parkinson)通过长期调查研 ...

  10. 对付ring0 inline hook

    对付ring0 inline hook的基本思路是这样的,自己写一个替换的内核函数,以NtOpenProcess为例,就是MyNtOpenProcess.然后修改SSDT表,让系统服务进入自己的函数M ...