加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

Yii框架的增删改查总结分析

发布时间:2020-05-25 03:07:07 所属栏目:PHP 来源:互联网
导读:一、查询数据1、findAll(根据一个条件查询一个集合)$admin=Admin::model()-findAll($condition,$params);$admin=Admin::model()-findAll(username=:name,array(:name=$username));$admin=Admin::model()-findAll(“username=:name and age=:age” , array(“:

一、查询数据

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">){

</span><span style="color: #0000ff"&gt;echo</span><span style="color: #800080"&gt;$v</span>['add_time'<span style="color: #000000"&gt;];

}

六、事务处理

= Yii::app()->db-><span style="color: #0000ff">try<span style="color: #000000">{

</span><span style="color: #800080"&gt;$post</span>=<span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; Post;

</span><span style="color: #800080"&gt;$post</span>->'title'='Hello dodobook!!!'<span style="color: #000000"&gt;;

<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">);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读