Yii框架的增删改查总结分析
|
一、查询数据 1、findAll(根据一个条件查询一个集合) =Admin::model()->findAll(, =Admin::model()->findAll("username=:name",(":name"=> =Admin::model()->findAll(“username=:name and age=:age”,(“:name”=>,“age”=> =Admin::model()->findAll(“username like :name and age=:age”,“age”=> = NewsList::model()->findAll("status = '1' ORDER BY id DESC limit 10 ");2、findAllByPk(根据主键查询一个集合,可以使用多个主键) =Admin::model()->findAllByPk(,, =Admin::model()->findAllByPk(,"name like :name and age=:age",(':name'=>,'age'=> =Admin::model()->findAllByPk((1,2));3、findAllByAttributes(根据条件查询一个集合,可以是多个条件,把条件放到数组里面) =Admin::model()->findAllByAttributes(, =Admin::model()->findAllByAttributes(('username'=>'admin'));4、findAllBySql(根据SQL语句查询一个数组) =Admin::model()->findAllBySql(,<span style="color: #800080">$admin=Admin::model()->findAllBySql("select * from admin where username like :name",<span style="color: #0000ff">array(':name'=>'%ad%'));5、findByPk(根据主键查询出一个对象) =Admin::model()->findByPk(, =Admin::model()->findByPk(1);6、find(根据一个条件查询出一组数据,可能是多个,只返回第一行数据) =Admin::model()->find(,<span style="color: #800080">$row=Admin::model()->find('username=:name',<span style="color: #0000ff">array(':name'=>'admin'));7、findByAttributes(根据条件查询一组数据,把条件放到数组里面,查询第一条数据) =Admin::model()->findByAttributes(,<span style="color: #800080">$admin=Admin::model()->findByAttributes(<span style="color: #0000ff">array('username'=>'admin'));8、findBySql(根据SQL语句查询一组数据,查询第一条数据) =Admin::model()->findBySql(,<span style="color: #800080">$admin=Admin::model()->findBySql("select * from admin where username=:name",<span style="color: #0000ff">array(':name'=>'admin'));9、count(根据一个条件查询一个集合有多少条记录,返回一个int型数字) =Post::model()->(,<span style="color: #800080">$count=Post::model()-><span style="color: #008080">count("username=:name",<span style="color: #0000ff">array(":name"=><span style="color: #800080">$username));10、countBySql(根据SQL语句查询一个集合有多少条记录,返回一个int型数字) =Post::model()->countBySql(,<span style="color: #800080">$count=Post::model()->countBySql("select * from admin where username=:name",<span style="color: #0000ff">array(':name'=>'admin'));11、exists(根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到) =Post::model()->exists(,<span style="color: #800080">$exists=Post::model()->exists("name=:name",<span style="color: #0000ff">array(":name"=><span style="color: #800080">$username));二、添加数据 save(添加数据) =<span style="color: #800080">$admin->username =<span style="color: #800080">$username<span style="color: #000000">;<span style="color: #800080">$admin->password =<span style="color: #800080">$password<span style="color: #000000">; <span style="color: #0000ff">if(<span style="color: #800080">$admin->save() > 0){<span style="color: #0000ff">echo"添加成功"; }<span style="color: #0000ff">else{<span style="color: #0000ff">echo"添加失败"; } 三、修改数据 update($pk主键,可以是一个也可以是一个集合,$attributes是要修改的字段的集合,$condition条件,$params传入的值) Post::model()->updateAll(,<span style="color: #800080">$count=Admin::model()->updateAll(<span style="color: #0000ff">array('username'=>'11111','password'=>'11111'),'password=:pass',<span style="color: #0000ff">array(':pass'=>'1111a1'<span style="color: #000000">));<span style="color: #0000ff">if(<span style="color: #800080">$count> 0){<span style="color: #0000ff">echo "修改成功"; }<span style="color: #0000ff">else{<span style="color: #0000ff">echo"修改失败"<span style="color: #000000">; } <span style="color: #800080">$result=PostList::model()->updateAll(<span style="color: #0000ff">array('status'=>'1'),'staff_id=:staff and host_id=:host',<span style="color: #0000ff">array(':staff'=><span style="color: #800080">$staff_id,':host'=><span style="color: #800080">$host_id)) Post::model()->updateByPk(,,<span style="color: #800080">$count=Admin::model()->updateByPk(1,<span style="color: #0000ff">array('username'=>'admin','password'=>'admin'<span style="color: #000000">));<span style="color: #800080">$count=Admin::model()->updateByPk(<span style="color: #0000ff">array(1,2),'password'=>'admin'),'username=:name',<span style="color: #0000ff">array(':name'=>'admin'<span style="color: #000000">)); <span style="color: #0000ff">if(<span style="color: #800080">$count>0){<span style="color: #0000ff">echo"修改成功"; }<span style="color: #0000ff">else{<span style="color: #0000ff">echo"修改失败"<span style="color: #000000">; } Post::model()->updateCounters(<span style="color: #800080">$counters,<span style="color: #800080">$params<span style="color: #000000">); <span style="color: #800080">$count=Admin::model()->updateCounters(<span style="color: #0000ff">array('status'=>1),<span style="color: #0000ff">array(':name'=>'admin'<span style="color: #000000">)); <span style="color: #0000ff">if(<span style="color: #800080">$count> 0){<span style="color: #0000ff">echo "修改成功"; }<span style="color: #0000ff">else{<span style="color: #0000ff">echo"修改失败"<span style="color: #000000">; } array('status'=>1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自加1 四、删除数据 Post::model()->deleteAll(,<span style="color: #800080">$count=Admin::model()->deleteAll('username=:nameandpassword=:pass',<span style="color: #0000ff">array(':name'=>'admin',':pass'=>'admin'<span style="color: #000000">));<span style="color: #800080">$count= Admin::model()->deleteAll('id in("1,2,3")');<span style="color: #008000">//<span style="color: #008000">删除id为这些的数据 <span style="color: #0000ff">if(<span style="color: #800080">$count>0){<span style="color: #0000ff">echo"删除成功"; }<span style="color: #0000ff">else{<span style="color: #0000ff">echo"删除失败"<span style="color: #000000">; } Post::model()->deleteByPk(<span style="color: #800080">$pk,<span style="color: #800080">$params<span style="color: #000000">); <span style="color: #800080">$count= Admin::model()->deleteByPk(1<span style="color: #000000">); <span style="color: #800080">$count=Admin::model()->deleteByPk(<span style="color: #0000ff">array(1,<span style="color: #0000ff">array(':name'=>'admin'<span style="color: #000000">)); <span style="color: #0000ff">if(<span style="color: #800080">$count>0){<span style="color: #0000ff">echo"删除成功"; }<span style="color: #0000ff">else{<span style="color: #0000ff">echo"删除失败"; } 五、createCommand ="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id"<span style="color: #800080">$rows=Yii::app()->db->createCommand(<span style="color: #800080">$sql)-><span style="color: #000000">query();<span style="color: #0000ff">foreach(<span style="color: #800080">$rowsas <span style="color: #800080">$k => <span style="color: #800080">$v<span style="color: #000000">){
} 六、事务处理 = Yii::app()->db-><span style="color: #0000ff">try<span style="color: #000000">{
<span style="color: #0000ff">if(!<span style="color: #800080">$post-><span style="color: #000000">save()){ <span style="color: #0000ff">throw <span style="color: #0000ff">new <span style="color: #0000ff">Exception("Error Processing Request",1<span style="color: #000000">); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
