`
897371388
  • 浏览: 528952 次
文章分类
社区版块
存档分类
最新评论

Yii 框架里数据库操作详解-增加、查询、更新、删除的方法

 
阅读更多

一、查询数据集合

1、$admin=Admin::model()->findAll($condition,$params);

该方法是根据一个条件查询一个集合,

如:findAll('username=:name',array(':name'=>$username));

2、$admin=Admin::model()->findAllByPk($postIDs,$condition,$params);

findAllByPk($id,'name like ':name' and age=:age',array(':name'=>$name,'age'=>$age));

该方法是根据主键查询一个集合,可以使用多个主键,

如: findAllByPk(array(1,2));

3、$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params);

该方法是根据条件查询一个集合,可以是多个条件,把条件放到数组里面,

如: findAllByAttributes(array('username'=>'admin'));

4、$admin=Admin::model()->findAllBySql($sql,$params);

该方法是根据SQL语句查询一个数组,

如: findAllBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

二、查询对像的方法

1、$admin=Admin::model()->findByPk($postID,$condition,$params);

根据主键查询出一个对象,

如:findByPk(1);

2、$row=Admin::model()->find($condition,$params);

根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据,

如: find('username=:name',array(':name'=>'admin'));

3、$admin=Admin::model()->findByAttributes($attributes,$condition,$params);

该方法是根据条件查询一组数据,可以是多个条件,把条件放到数组里面,他查询的也是第一条数据,

如: findByAttributes(array('username'=>'admin'));

4、$admin=Admin::model()->findBySql($sql,$params);

该方法是根据SQL语句查询一组数据,他查询的也是第一条数据,

如: findBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

5、拼一个获得SQL的方法,在根据find查询出一个对象 $criteria=new CDbCriteria;

$criteria->select='username'; // only select the 'title' column
$criteria->condition='username=:username';
$criteria->params=array(':username=>'admin');

$post=Post::model()->find($criteria); // $params isnot needed

三、查询个数,判断查询是否有结果

1、$n=Post::model()->count($condition,$params);

该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字,

如 count('username=:name',array(':name'=>$username));

2、$n=Post::model()->countBySql($sql,$params);

该方法是根据SQL语句查询一个集合有多少条记录,返回一个int型数字,

如 countBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

3、$exists=Post::model()->exists($condition,$params);

该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到

四、添加的方法

$admin=newAdmin;

$admin->username=$username;
$admin->password=$password;
if($admin->save()>0){
echo '添加成功';
}else{
echo '添加失败';

}

五、修改的方法

1、Post::model()->updateAll($attributes,$condition,$params);

$count =Admin::model()->updateAll(array('username'=>'11111','password'=>'11111'),'password=:pass',array(':pass'=>'1111a1'));
if($count>0){
echo '修改成功';
}else{
echo '修改失败';

}

2、Post::model()->updateByPk($pk,$attributes,$condition,$params);

$count =Admin::model()->updateByPk(1,array('username'=>'admin','password'=>'admin'));
$count =Admin::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin'));
if($count>0){
echo '修改成功';
}else{
echo '修改失败';

}

$pk代表主键,可以是一个也可以是一个集合,$attributes代表是要修改的字段的集合,$condition代表条件,$params传入的值

3、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

六、删除的方法

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框架页面渲染操作实例详解

    本文实例讲述了Yii框架页面渲染操作。分享给大家供大家参考,具体如下: 1、一般页面渲染 yii的页面渲染通过在controller的action中调用$this->render($viewname...)进行,流程如下图: 在render方法中,yii会先对...

    Yii框架操作cookie与session的方法实例详解

    本文实例讲述了Yii框架操作cookie与session的方法。分享给大家供大家参考,具体如下: cookie操作 设置cookie //获取response->cookies组件 $cookies = \Yii::$app->response->cookies; //设置cookie数组 $array_...

    Yii 框架应用(Applications)操作实例详解

    主要介绍了Yii 框架应用(Applications)操作,结合实例形式详细分析了Yii 框架应用(Applications)基本配置、属性、事件相关操作技巧与注意事项,需要的朋友可以参考下

    yii的CURD操作实例详解

    本文来讲讲Yii框架的CURD操作。 一、查询数据集合 1、复制代码 代码如下:$admin=Admin::model()->findAll($condition,$params);该方法是根据一个 条件查询一个集合,如: 复制代码 代码如下:findAll(‘username=:...

    (全)传智播客PHP就业班视频完整课程

    9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session...

    Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作

    详解PHP的Yii框架中日志的相关配置及使用

    主要介绍了PHP的Yii框架中日志的相关配置及使用,包括bug追踪以及数据库查询耗时记录等,需要的朋友可以参考下

    详解yii2实现分库分表的方案与思路

    大家可以从任何一个gii生成model类开始代码上溯,会发现:yii2的model层基于ActiveRecord实现DAO访问数据库的能力。 而ActiveRecord的继承链可以继续上溯,最终会发现model其实是一个component,而component是yii2做...

    YII Framework框架教程之日志用法详解

    本文实例讲述了YII Framework框架日志用法。分享给大家供大家参考,具体如下: 日志的作用(此处省略1000字) YII中的日志很好很强大,允许你把日志信息存放到数据库,发送到制定email,存放咋文件中,意见显示页面...

    PHP中替换键名的简易方法示例详解

    YII框架中封装好了的数据库操作函数,默认输出的时候,将数据库字段名作为数组的键名进行输出,但是有些时候带有键名的数据不能够满足未知情况下的操作,譬如:数据库数据导出为EXCEL等比较非正常的操作。...

Global site tag (gtag.js) - Google Analytics