[size=large]
1 .Select: 常用几种方法
// find the first row satisfying the specified condition
$post=Post::model()->find($condition,$params);
// find the row with the specified primary key
$post=Post::model()->findByPk($postID,$condition,$params);
// find the row with the specified attribute values
$post=Post::model()->findByAttributes($attributes,$condition,$params);
// find the first row using the specified SQL statement
$post=Post::model()->findBySql($sql,$params);
$criteria=new CDbCriteria;
$criteria->select='title'; // only select the 'title' column
$criteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria);
$post=Post::model()->find(array(
'select'=>'title',
'condition'=>'postID=:postID',
'params'=>array(':postID'=>10),
));
// find all rows satisfying the specified condition
$posts=Post::model()->findAll($condition,$params);
// find all rows with the specified primary keys
$posts=Post::model()->findAllByPk($postIDs,$condition,$params);
// find all rows with the specified attribute values
$posts=Post::model()->findAllByAttributes($attributes,$condition,$params);
// find all rows using the specified SQL statement
$posts=Post::model()->findAllBySql($sql,$params);
// get the number of rows satisfying the specified condition
$n=Post::model()->count($condition,$params);
// get the number of rows using the specified SQL statement
$n=Post::model()->countBySql($sql,$params);
// check if there is at least a row satisfying the specified condition
$exists=Post::model()->exists($condition,$params);
2.常用的修改方式--update
// update the rows matching the specified condition
Post::model()->updateAll($attributes,$condition,$params);
// update the rows matching the specified condition and primary key(s)
Post::model()->updateByPk($pk,$attributes,$condition,$params);
// update counter columns in the rows satisfying the specified conditions
Post::model()->updateCounters($counters,$condition,$params);
3.常用的删除方式--delete
$post=Post::model()->findByPk(10); // assuming there is a post whose ID is 10
$post->delete();
// delete the rows matching the specified condition
Post::model()->deleteAll($condition,$params);
// delete the rows matching the specified condition and primary key(s)
Post::model()->deleteByPk($pk,$condition,$params);
4.常用的事物--innodb
$model=Post::model();
$transaction=$model->dbConnection->beginTransaction();
try
{
// find and save are two steps which may be intervened by another request
// we therefore use a transaction to ensure consistency and integrity
$post=$model->findByPk(10);
$post->title='new post title';
$post->save();
$transaction->commit();
}
catch(Exception $e)
{
$transaction->rollBack();
}
希望对你们有帮助![/size]
分享到:
相关推荐
1. **快速性能**:Yii采用缓存机制、预编译模板以及高效的数据库访问层,确保了应用程序的高性能。其内置的数据库查询构造器和Active Record模式能够有效减少数据库操作的开销。 2. **安全防护**:Yii提供了丰富的...
Yii采用MVC(Model-View-Controller)设计模式,这是Web应用开发中最常用的设计模式之一。在Yii中,Model负责处理数据和业务逻辑,View负责展示数据,而Controller则协调Model和View,处理用户请求并生成响应。 类...
除了Yii框架提供的session存储方式,它还支持多种其他的session处理方式,包括使用memcache、redis等缓存系统。这使得开发者可以利用这些存储方案来提升性能和扩展性。 Yii框架的文档和社区资源提供了丰富的信息和...
Yii框架的数据库缓存是提高应用程序性能的一个重要机制,尤其是在处理大量数据库查询和减少数据库服务器负载方面非常有效。Yii提供了灵活的缓存机制,可以通过组件实现多种缓存策略。本文将详细介绍Yii数据库缓存的...
Yii框架通过Active Record模式提供了一种更安全、更优雅的方式来处理数据库查询、增加和删除操作。它能够有效防止SQL注入问题,同时让数据库操作代码更加清晰易读。 如果想深入学习Yii框架或PHP相关知识,可以参考...
2. **Migrations**:Yii的迁移功能允许开发者以版本控制的方式管理数据库结构的变更,方便团队协作。 3. **Extension管理**:Yii社区提供了大量高质量的扩展,如图库管理、支付接口等,可通过Yii的扩展管理工具轻松...
其次,Yii2支持Active Record模式,这是一种对象关系映射(ORM)技术,允许开发者通过面向对象的方式操作数据库。在"普查平台"中,可能有多个Active Record类对应不同的数据表,如用户信息、问卷详情、调查结果等。 ...
对于熟悉Yii框架的开发者而言,了解如何通过编程方式动态获取数据库表名是非常有用的,尤其在进行系统架构设计或者处理复杂的业务逻辑时。尽管Yii框架提供了非常便捷的数据库操作工具,但在实际开发中仍需要考虑代码...
#### 一、Yii2的部署方式 **知识点解析:** 1. **本地开发环境部署:** 开发者通常会在本地搭建一个类似生产环境的配置来进行开发和调试工作。本地环境中最常用的工具是XAMPP、MAMP、WAMP等,这些工具集成了Apache...
12. 常用扩展手册:除了官方文档,还有一些扩展手册提供了额外的指南和示例代码,帮助开发者深入学习和使用Yii框架。 Yii框架的新版本会不断引入新特征和改进。例如,1.1.0版本增加了对单元和功能测试的支持,以及...
对于想要深入了解Yii2.0框架的开发者来说,除了本文介绍的基础数据库操作,还应该阅读更多相关专题和教程,例如《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向...
8. **缓存机制**:为了优化性能,Yii提供了多种缓存策略,如页面缓存、片段缓存和数据缓存,适用于博客文章列表和评论这样的常用数据。 9. **国际化和本地化**:Yii支持多语言,博客系统可以轻松添加不同语言版本,...
本视频教程“YII框架实例视频后盾网马振宇”旨在帮助开发者掌握YII2框架的基本用法,并通过实际案例——博客系统的开发,加深对YII2框架的理解。无论是对于初学者还是有一定经验的开发者来说,都是一份非常有价值的...
- **版本1.1.0**:增加了对编写单元和功能测试的支持,引入了可扩展的 **formbuilder** ,改善了声明安全模型属性的方式等。 - **版本1.0.11**:增加支持以参数化后的主机名解析和创建URL。 - **版本1.0.10**:增加...
Yii提供了数据访问对象(DAO)和Active Record两种方式来访问和操作数据库。Active Record是对象关系映射(ORM)的一个实现,它简化了数据库的操作。 ### 缓存 缓存是提高应用性能的重要手段。Yii提供了数据缓存、...
在实际开发中,你可以利用Yii2的事件系统和过滤器来实现签名认证的自动化处理,减少重复代码。此外,还可以使用Yii2的组件如`yii\web\Request`和`yii\base\ActionFilter`,自定义过滤器类来实现签名的生成和验证逻辑...
- **组件**:提供了许多常用的功能实现,如缓存、数据库访问等。 - **模块**:可以被重用的独立应用程序部分。 - **路径假名和命名空间**:用于简化文件路径和类名。 - **惯例**:遵循一定的命名规则和文件结构...
3. **组件和插件**:介绍一些常用的Yii扩展和第三方插件,如Gii代码生成工具,CGridView数据展示等。 4. **RESTful API开发**:如何使用Yii构建符合REST原则的API服务。 5. **模板引擎和视图**:深入理解Yii的视图...
队列是Web应用中常用的一种设计模式,用于将耗时的任务放到后台处理,避免阻塞主线程。结合Amp库,这个队列组件可以实现非阻塞的异步任务处理,例如邮件发送、数据分析或者文件处理等。 队列的工作原理通常是:生产...
通过以上对Yii框架的核心概念的介绍,我们可以看出,Yii框架的设计非常注重代码的复用性、灵活性以及开发效率。无论是对于初学者还是经验丰富的开发者来说,它都是一款值得深入了解的强大工具。