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 项目结构 编写增删改查测试类
随机推荐
- text透明无边框
<input type="text" style="border:0px;background-color:transparent;outline:none;&qu ...
- 关于前置式递增和后置式递增的小知识(++x与x++)
list<char>::iterator pos; //list<char> coll; for(pos=coll.begin();pos!=coll.end();++pos) ...
- X230上安装Yosemite/Win7-黑苹果之路
以前曾经在X230上安装了mavericks,但因为无线网卡问题最终作罢,现在换了SSD(128G).AR9285网卡,又冲刺了一把OSX,折腾了好几天,终于成了.特做记录如下: 首先,硬盘分区问题, ...
- cocos2d-lua 3.5 android搭建步骤
cocos2d-lua 3.5 android搭建步骤 如何安装eclipse,jdk,android sdk,ndk这里都不说了,资料很多,而且以前用eclipse搭建cocos2d-x-c++的时 ...
- excel中 lookup的使用
问题来源: 有一批数据要处理,excel格式,第一个表是 名字,第二个是“姓名”和“顾问”, 每一列执行以下操作,从名字列找到名字,然后在第二个表中找到该姓名对应的“顾问”,粘贴到 第一个表名字的后面 ...
- 怎样用CODESOFT打印连续的条码标签?
在实际工作中,经常会用CODESOFT条 码打印软件来实现打印连续的条码标签,将这些标签按递增或递减等方式连续打印.这样设置可大大提高用户的工作效率.实现在CODESOFT 2015打印连续条码标签, ...
- VC获取并修改计算机屏幕分辨率(MFC)
//检测当前分辨率 int Width = GetSystemMetrics(SM_CXSCREEN); int Height = GetSystemMetrics(SM_CYSCREEN); DEV ...
- (原创)robotium自学笔记
按计划6月份之后就要做安卓了,今天抽时间研究了下一款android自动化测试工具rebotium,记录下来备用. 个人感觉还是一个不错的工具. 首先确保已具备android相关环境并且已经创建了安卓模 ...
- MSP430F149学习之路——PWM信号
代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...
- SQL Access Advisor
1.概述: provides advice on improving the performance of a database through partitioning, materialized ...