首页 后端开发 php教程 关于Yii框架的增删改查

关于Yii框架的增删改查

Jul 04, 2018 pm 01:49 PM

这篇文章主要介绍了关于Yii框架的增删改查,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一、查询数据

1、findAll(根据一个条件查询一个集合)

1

2

3

4

5

6

7

8

9

$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(“:name”=>$name, “age”=>$age));

  

$admin=Admin::model()->findAll(“username like :name and age=:age” , array(“:name”=>$name, “age”=>$age));

  

$infoArr= NewsList::model()->findAll("status = '1' ORDER BY id DESC limit 10 ");

登录后复制

2、findAllByPk(根据主键查询一个集合,可以使用多个主键)

1

2

3

4

5

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

 

$admin=Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age));

  

$admin=Admin::model()->findAllByPk(array(1,2));

登录后复制

3、findAllByAttributes(根据条件查询一个集合,可以是多个条件,把条件放到数组里面)

1

2

3

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

  

$admin=Admin::model()->findAllByAttributes(array('username'=>'admin'));

登录后复制

4、findAllBySql(根据SQL语句查询一个数组)

1

2

3

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

 

$admin=Admin::model()->findAllBySql("select * from admin where username like :name",array(':name'=>'%ad%'));

登录后复制

5、findByPk(根据主键查询出一个对象)

1

2

3

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

 

$admin=Admin::model()->findByPk(1);

登录后复制

6、find(根据一个条件查询出一组数据,可能是多个,只返回第一行数据)

1

2

3

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

 

$row=Admin::model()->find('username=:name',array(':name'=>'admin'));

登录后复制

7、findByAttributes(根据条件查询一组数据,可以是多个条件,把条件放到数组里面,查询第一条数据)

1

2

3

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

 

$admin=Admin::model()->findByAttributes(array('username'=>'admin'));

登录后复制

8、findBySql(根据SQL语句查询一组数据,查询第一条数据)

1

2

3

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

 

$admin=Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin'));

登录后复制

9、count(根据一个条件查询一个集合有多少条记录,返回一个int型数字)

1

2

3

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

 

$count=Post::model()->count("username=:name",array(":name"=>$username));

登录后复制

10、countBySql(根据SQL语句查询一个集合有多少条记录,返回一个int型数字)

1

2

3

$count=Post::model()->countBySql($sql,$params);

 

$count=Post::model()->countBySql("select * from admin where username=:name",array(':name'=>'admin'));

登录后复制

11、exists(根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到)

1

2

3

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

 

$exists=Post::model()->exists("name=:name",array(":name"=>$username));

登录后复制

二、添加数据

save(添加数据)

1

2

3

4

5

6

7

$admin=new Admin;      

 

$admin->username =$username;

 

$admin->password =$password;

 

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

登录后复制

三、修改数据

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

1

2

3

4

5

6

7

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"修改失败"; }

 

$result=PostList::model()->updateAll(array('status'=>'1'),'staff_id=:staff and host_id=:host',array(':staff'=>$staff_id,':host'=>$host_id))

登录后复制

1

2

3

4

5

6

7

8

9

10

11

12

13

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"修改失败"; }

  

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

四、删除数据

delete

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Post::model()->deleteAll($condition,$params);

 

$count=Admin::model()->deleteAll('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin'));

 

$count= Admin::model()->deleteAll('id in("1,2,3")');//删除id为这些的数据

 

if($count>0){echo"删除成功"; }else{echo"删除失败"; }

  

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"删除失败"; }

登录后复制

五、createCommand

1

2

3

4

5

6

7

8

9

$sql="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id";

 

$rows=Yii::app()->db->createCommand($sql)->query();

 

foreach($rowsas $k => $v){

 

    echo$v['add_time'];

 

}

登录后复制

六、事务处理

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

$dbTrans= Yii::app()->db->beginTransaction();

 

try{   

 

    $post=new Post;

 

    $post->'title'='Hello dodobook!!!';

 

if(!$post->save()){

 

throw new Exception("Error Processing Request", 1);

 

}

 

    $dbTrans->commit();

 

    $this->_end(0,'添加成功!!!');

 

}catch(Exception$e){

 

    $dbTrans->rollback();

 

    $this->_end($e->getCode(),$e->getMessage());

 

}

登录后复制

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

PHP让数组中有相同值的组成新的数组实例讲解

解决PHP字符串长度不一致的问题详解

Laravel5.2使用Captcha生成验证码实现登录

以上是关于Yii框架的增删改查的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Go语言如何实现数据库的增删改查操作? Go语言如何实现数据库的增删改查操作? Mar 27, 2024 pm 09:39 PM

Go语言是一种高效、简洁且易于学习的编程语言,因其在并发编程和网络编程方面的优势而备受开发者青睐。在实际开发中,数据库操作是不可或缺的一部分,本文将介绍如何使用Go语言实现数据库的增删改查操作。在Go语言中,我们通常使用第三方库来操作数据库,比如常用的sql包、gorm等。这里以sql包为例介绍如何实现数据库的增删改查操作。假设我们使用的是MySQL数据库。

Yii框架中间件:为应用程序提供多重数据存储支持 Yii框架中间件:为应用程序提供多重数据存储支持 Jul 28, 2023 pm 12:43 PM

Yii框架中间件:为应用程序提供多重数据存储支持介绍中间件(middleware)是Yii框架中的一个重要概念,它为应用程序提供了多重数据存储支持。中间件的作用类似于一个过滤器,它能够在应用程序的请求和响应之间插入自定义代码。通过中间件,我们可以对请求进行处理、验证、过滤,然后将处理后的结果传递给下一个中间件或最终的处理程序。Yii框架中的中间件使用起来非常

PHP中如何使用Yii框架 PHP中如何使用Yii框架 Jun 27, 2023 pm 07:00 PM

随着Web应用程序的快速发展,现代Web开发已成为一项重要技能。许多框架和工具可用于开发高效的Web应用程序,其中Yii框架就是一个非常流行的框架。Yii是一个高性能、基于组件的PHP框架,它采用了最新的设计模式和技术,提供了强大的工具和组件,是构建复杂Web应用程序的理想选择。在本文中,我们将讨论如何使用Yii框架来构建Web应用程序。安装Yii框架首先,

使用Yii框架实现网页缓存和页面分块的步骤 使用Yii框架实现网页缓存和页面分块的步骤 Jul 30, 2023 am 09:22 AM

使用Yii框架实现网页缓存和页面分块的步骤引言:在Web开发过程中,为了提高网站的性能和用户体验,常常需要对页面进行缓存和分块处理。Yii框架提供了强大的缓存和布局功能,可以帮助开发者快速实现网页缓存和页面分块,本文将介绍如何使用Yii框架进行网页缓存和页面分块的实现。一、网页缓存开启网页缓存在Yii框架中,可以通过配置文件来开启网页缓存。打开主配置文件co

使用Yii框架创建游戏攻略网站 使用Yii框架创建游戏攻略网站 Jun 21, 2023 pm 01:45 PM

近年来,随着游戏行业的快速发展,越来越多的玩家开始寻找游戏攻略来帮助游戏过关。因此,创建一个游戏攻略网站可以让玩家们更加方便地获取游戏攻略,同时也能为玩家提供更好的游戏体验。在创建这样一个网站时,我们可以使用Yii框架来进行开发。Yii框架是一个基于PHP编程语言的Web应用开发框架。它具有高效、安全、扩展性强等特点,可以为我们更快速、高效地创建一个游戏攻略

Yii框架中间件:为应用程序添加日志记录和调试功能 Yii框架中间件:为应用程序添加日志记录和调试功能 Jul 28, 2023 pm 08:49 PM

Yii框架中间件:为应用程序添加日志记录和调试功能【引言】在开发Web应用程序时,我们通常需要添加一些附加功能以提高应用的性能和稳定性。Yii框架提供了中间件的概念,使我们能够在应用程序处理请求之前和之后执行一些额外的任务。本文将介绍如何使用Yii框架的中间件功能来实现日志记录和调试功能。【什么是中间件】中间件是指在应用程序处理请求之前和之后,对请求和响应做

Java List接口实例演示:实现增删改查操作的数据操作 Java List接口实例演示:实现增删改查操作的数据操作 Dec 20, 2023 am 08:10 AM

JavaList接口是Java中常用的数据结构之一,可以方便地实现数据的增删改查操作。本文将通过一个示例来演示如何使用JavaList接口来实现数据的增删改查操作。首先,我们需要在代码中引入List接口的实现类,常见的有ArrayList和LinkedList。这两个类都实现了List接口,具有类似的功能但底层实现方式不同。ArrayList是基于数组实

在Yii框架中使用控制器(Controllers)处理Ajax请求的方法 在Yii框架中使用控制器(Controllers)处理Ajax请求的方法 Jul 28, 2023 pm 07:37 PM

在Yii框架中,控制器(Controllers)扮演着处理请求的重要角色。除了处理常规的页面请求之外,控制器还可以用于处理Ajax请求。本文将介绍在Yii框架中处理Ajax请求的方法,并提供代码示例。在Yii框架中,处理Ajax请求可以通过以下步骤进行:第一步,创建一个控制器(Controller)类。可以通过继承Yii框架提供的基础控制器类yiiwebCo

See all articles