`

Yii使用 AR 处理事务

    博客分类:
  • PHP
 
阅读更多

每个 AR 实例都含有一个属性名叫 dbConnection ,是一个 CDbConnection 的实例,这样我们可以在需要时配合 AR 使用由 Yii DAO 提供的 事务 功能:

 

$model=Post::model();
$transaction=$model->dbConnection->beginTransaction();
try
{
    // 查找和保存是可能由另一个请求干预的两个步骤
    // 这样我们使用一个事务以确保其一致性和完整性
    $post=$model->findByPk(10);
    $post->title='new post title';
    $post->save();
    $transaction->commit();
}
catch(Exception $e)
{
    $transaction->rollBack();
}
分享到:
评论

相关推荐

    yii的小部件使用

    ### yii的小部件使用 在Yii框架中,小部件(Widgets)是用于封装并重用页面元素的一种机制。本文主要探讨如何在Yii框架中利用小部件(Widgets)来提高开发效率,尤其是在快速生成增删改查功能时的具体应用,并结合...

    yii2swoole让yii2运行在swoole上

    2. **性能提升**:"运行在swoole上的yii2是运行在php-fpm上yii2的5倍以上"表明使用Swoole后,Yii2应用的处理速度和响应能力显著增强。Swoole的异步非阻塞I/O模型相比传统的PHP-FPM(FastCGI进程管理器)模型,可以...

    yii框架中文文档、yii中文手册教程

    “yii框架中文手册教程.pdf”是Yii框架的中文版官方手册,它是学习Yii框架的重要资源。这份PDF文档通常会包括以下内容: 1. **安装与配置**:介绍如何在服务器上安装Yii,以及设置基本的项目环境。 2. **快速入门**...

    Yii2使用resful api接口

    - 使用`yii\filters\ContentNegotiator`来处理多种格式的请求和响应。 7. **错误处理** - Yii2提供了内置的错误处理机制,可以通过配置`errorHandler`来定制错误页面和API响应。 8. **测试API** - 可以使用...

    yii2使用sign签名认证

    此外,还可以使用Yii2的组件如`yii\web\Request`和`yii\base\ActionFilter`,自定义过滤器类来实现签名的生成和验证逻辑。 总之,Yii2框架结合Sign签名认证,为PHP应用程序提供了一种强大的安全机制,保护了数据的...

    yii框架中文手册教程和YII模板

    本教程将深入探讨Yii框架的核心概念和使用方法,同时提供一份中文手册教程,以便于中文使用者更好地理解和应用。 首先,Yii框架的核心特性包括MVC(模型-视图-控制器)设计模式、Active Record ORM(对象关系映射)...

    yii2使用SeasLog写日志

    本篇文章将详细介绍如何在Yii2框架中使用SeasLog扩展来替换原生的日志模块,以提高写日志的效率。 首先,让我们了解SeasLog。SeasLog是一款高性能、易用的日志库,适用于PHP环境。它支持多级别日志、自定义日志格式...

    YII 2数据库迁移(Migrations) 使用教程

    - `up()`和`down()`方法与`safeUp()`和`safeDown()`类似,但它们不被封装在事务中,因此不建议使用。 #### 四、迁移文件编写示例 在`safeUp()`方法中,可以使用Yii 2提供的数据库操作API来创建数据表,并定义字段...

    yii2 通用后台系统

    Yii2 后台系统可能会使用 `yii\webUploadedFile` 类来处理文件上传,配合 `yii\imagine` 扩展进行图片处理,如裁剪、缩放等,确保头像符合预设尺寸。此外,文件存储可以本地化,也可以使用云存储服务如 AWS S3 或...

    详解Yii2.0使用AR联表查询实例

    本文将重点介绍如何使用ActiveRecord(AR)进行联表查询。 首先,在模型层面,我们需要定义好每个数据表对应的模型类。例如,如果有两个相关联的数据表article和article_class,在Article模型类中需要定义好如何与...

    YII快速入门教程

    - **使用AR处理事务** - **命名范围** - **参数化的命名范围** - **默认的命名范围** **3. RelationalActiveRecord(关联查询)** - **如何声明关联** - **关联查询** - **关联查询选项** - **为字段名消除歧义** ...

    YII数据库操作大全

    使用`yii\db\Transaction`类,我们可以这样封装一个带有事务的函数: ```php function processPayment() { $transaction = Yii::$app->db->beginTransaction(); try { // 执行一些数据库操作 // ... if (/* ...

    Yii 2文件下载

    “找不到的朋友的福利”可能意味着这个压缩包包含了对学习或使用Yii 2.0非常有帮助的资源,可能是完整的框架安装包,也可能包含了一些示例项目或者特定功能的实现代码。 "需要怎么这么长我了个去"这部分看起来像是...

    yii框架yii框架yii框架yii框架yii框架

    很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架

    深入理解Yii2.0

    采用的方式是分析框架的源代码,尝试从根上进行理解和阐述,并融入个人使用Yii开发的一些经验和教训。 通过本书,你将不仅仅了解到Yii怎么使用的实操技巧,还将掌握其实现的技术原理和内幕。 更为重要的是,接触...

    使用yii敏捷开发web应用

    "使用Yii敏捷开发web应用"是针对这个框架的深入学习资源,主要目标是初学者。敏捷开发是一种以人为核心,迭代、逐步进行的软件开发方法,强调灵活应对变化。在Web应用开发中,敏捷方法能够帮助开发者快速响应需求...

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    1. **性能优化**:Yii 使用缓存机制,如APC、Memcached或数据库缓存,来提高应用性能。此外,其代码经过精心设计和优化,确保在处理大量请求时依然快速响应。 2. **MVC(模型-视图-控制器)架构**:Yii 实现了MVC...

    Yii权威指南思维导图

    在Yii中,Model负责处理数据和业务逻辑,View负责展示数据,而Controller则协调Model和View,处理用户请求并生成响应。 类结构是Yii框架的核心部分。框架的每个组件都是一个类,这些类通常继承自Yii的基类,例如...

    yii-1.0.4.r920

    1. MVC(模型-视图-控制器)架构模式:Yii 遵循 MVC 设计模式,将应用程序逻辑分为三个主要部分:模型(处理数据和业务逻辑),视图(负责展示数据),以及控制器(协调模型和视图)。这种分离有助于代码组织和可...

Global site tag (gtag.js) - Google Analytics