yii mode相关操作笔记

所有数据的调用

控制器部分
public function actionView(){    
      $connection = Yii::app()->db;
      $data = $connection->createCommand('select * from tbl_admin ')->query();
      $newData = array();
      foreach($data as $val){
         $newData[] = $val;
      }
      $this->render("view",array('data'=>$newData));    
}

视图部分
<?php foreach($data as $val):?>
<h1><?php echo $val['id'].'=='.$val['username'].'=='.$val['password'] ; ?></h1>
<?php endforeach;?>

带分页的数据调用

控制器部分
$criteria = new CDbCriteria();
$count=TblAdmin::model()->count($criteria);
$pages=new CPagination($count);
		
$pages->pageSize=1; //页码
$pages->applyLimit($criteria); //limit 0,1 格式控制
$criteria->select='id,username,password'; //查询的字段
$models = TblAdmin::model()->findAll($criteria);
		
$this->render('view', array('models' => $models,'pages' => $pages));

视图部分
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php foreach($models as $val): ?>
   	<h1><?php echo $val['id'].'=='.$val['username'].'=='.$val['password'] ; ?></h1>
<?php endforeach; ?>

// 显示分页
<?php $this->widget('CLinkPager', array(
    'pages' => $pages,
)) ?>

参数的获取

$username = Yii::app()->request->getParam('username','username2');
参数 username
默认值 username2


findAll的简单使用
$username = Yii::app()->request->getParam('username','username2');
$data = TblAdmin::model()->findAll('username=:username',array(':username'=>$username));
foreach($data as $val){
    echo $val['username']."==".$val['password'];    
}

通过主键获取信息

单个主键值
$data = TblAdmin::model()->findAllByPk(array(1));
foreach($data as $val){
    echo $val['username']."==".$val['password']."<br />";	
}

多个主键值$data = TblAdmin::model()->findAllByPk(array(1,3,5,7));foreach($data as $val){ echo $val['username']."==".$val['password']."<br />";}



findAllByAttributes函数的使用

使用第一个参数
$data = TblAdmin::model()->findAllByAttributes(array('username'=>'username1','password'=>'password1'));
foreach($data as $val){
     echo $val['username']."==".$val['password']."<br />";    
}


完整形式你
$data = TblAdmin::model()->findAllByAttributes(array('username'=>'username2'),'password=:password',array(':password'=>'password2'));
foreach($data as $val){
    echo $val['username']."==".$val['password']."<br />";	
}


findAllBySql的简单使用

$data = TblAdmin::model()->findAllBySql('select * from tbl_admin where username=:username',array(':username'=>'username3'));
foreach($data as $val){
     echo $val['username']."==".$val['password']."<br />";	
}


find的简单使用
根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据,如:
$data = TblAdmin::model()->find('username=:username',array(':username'=>'username1'));
$data = TblAdmin::model()->find(array('condition'=>'username=:username','params'=>array(':username'=>'username1')));

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

findBySql($sql,$params);
 该方法是根据SQL语句查询一组数据,他查询的也是第一条数据

CDbCriteria类的简单使用

拼一个获得SQL的方法,在根据find查询出一个对象  $criteria = new CDbCriteria();$criteria->select='username,password';$criteria->condition='username=:username';$criteria->params=array(':username'=>'username3');$data = TblAdmin::model()->find($criteria);echo $data['username'].'==='.$data['password'];取得表中信息的总行数$count
 = TblAdmin::model()->count();count($condition,$params);该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字,如  count("username=:name",array(":name"=>$username));   exists($condition,$params)该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到$count
 = TblAdmin::model()->exists('username=:username',array(':username'=>'username1'));echo (int)$count;


数据的添加

$admin = new TblAdmin(); //模型信息
$admin->username='username'.$i;
$admin->password='password'.$i;
if( $admin->save() > 0 ) {
	echo "成功"."<br />";
}else{
	echo "失败"."<br />";	
}

修改信息

//条件修改
$count = TblAdmin::model()->updateAll(array('username'=>'username1111','password'=>'password111'),'username=:username AND password=:password',array(':username'=>'username1',':password'=>'password1'));
echo $count; //返回被修改信息的行数

//主键修改
$count = TblAdmin::model()->updateByPk(array(2),array('username'=>'username222','password'=>'password222'));
echo $count; //返回被修改信息的行数

updateCounters字段增量的修改

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'=>1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自加1



信息的删除

//条件查询
$count = TblAdmin::model()->deleteAll('username=:username',array(':username'=>'username3'));
echo $count;  //删除的数量

$count = TblAdmin::model()->deleteByPk(array(1));
$count = TblAdmin::model()->deleteByPk(array(5,6,7));
echo $count; //删除的数量






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值