Active Record 支持两种形式的记录删除。
(delete)
首先,它有两个类级别方法delete()和
delete_all(),都是在数据库级别上来操作。
delete()方法接受一个id 或一个id 数组,来删除表中相应的记录。
delete_all()删除匹配给定条件的记录行(如果没有条件就删除全部的记录)。这两个调用的返回值依赖于适配器,一般情况典型地是受影响的记录行数。如果调用之前记录不存在,也不抛出异常。
Order.delete(123)
User.delete([2,3,4,5])
Product.delete_all(["price > ?", @expensive_price])
(destroy)
destroy 方法是Active Record 提供的第二种删除记录形式。这些方法都是通过Aactive
Record 中model 对象来调用。destroy()实例方法删除对应一个model 对象的记录。然后它会冻结这个对象的整个内容,以防止属性再有什么变化。
order = Order.find_by_name("Dave")
order.destroy
# ... order is now frozen
有两个类级别的析构方法,destroy()(它接受一个id 或一个id 数据)和
destroy_all()(它接受一条件),这两个方法是从数据库表中相应的记录读取到model 对象,并调用那个对象实例级别的destroy()方法。它们都不返回任何东西。
Order.destroy_all(["shipped_at < ?", 30.days.ago])
为什么我们要使用两种不同的类方法,delete 和destroy?delete 方法使用了Active
Record 的回调和validation 功能,而destroy 则是直接被调用。(我们将在后面讨论回调)。
通常情况下,如果你要保证数据库和model 类中定义的业务规则相一致,使用destroy 方法
会好些。
分享到:
相关推荐
这个名为"restful-crud-实验.tar.gz"的压缩包文件显然是一个教学资源,旨在帮助学习者理解如何在SpringBoot应用中实现基于REST的创建(Create)、读取(Read)、更新(Update)和删除(Delete)功能。 首先,我们要...
Laravel CRUD Generator能够帮助开发者快速创建CRUD(Create, Read, Update, Delete)操作,极大地提高了开发效率,降低了重复劳动。 Laravel是一个基于PHP的优雅且强大的Web应用开发框架,它的核心理念是"简洁、...
CRUD(Create, Read, Update, Delete)是数据库操作的核心概念,代表了创建、读取、更新和删除数据的基本操作。在IT行业中,尤其是Web开发领域,CRUD接口设计是构建任何应用程序的基础,用于与数据库进行交互。"crud...
- **删除(Delete)**:"remove_user.php" 接收删除请求,执行删除操作。 3. **数据源连接(conn.php)** "conn.php" 文件可能用于建立与数据库的连接,通常会包含数据库连接的配置信息,如数据库类型、服务器...
"laravel-crud-generator"是Laravel生态系统中的一个工具,用于自动化CRUD(Create, Read, Update, Delete)操作的生成,极大地提高了开发效率。在本篇文章中,我们将深入探讨Laravel开发以及laravel-crud-generator...
Scala-Cli-Maven-Mongo-Crud-Delete描述创建具有凭据的用户并列出收集test 。科技栈Scala专家mongo连接器蒙哥Docker堆栈mongodb:最新openjdk11笔记跑步sudo ./install.sh -u 停止sudo ./install.sh -d 求助sudo ./...
在本文中,我们将深入探讨如何使用Laravel框架开发CRUD(Create, Read, Update, Delete)API。Laravel是一款流行的PHP框架,它以其优雅的语法和丰富的功能集为Web开发提供了强大的工具。当我们谈论CRUD API时,我们...
在结合MySQL数据库进行CRUD(Create、Read、Update、Delete)操作时,SpringBoot提供了非常方便的集成方案,让我们无需像使用MyBatis那样手动编写大量的SQL映射文件和DAO层代码。 本项目"springboot-mysql-crud-...
CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)四种基本数据库操作的缩写,是数据库管理的核心。 在avue中,"数据字典"通常用来表示一组固定的选项或者枚举值,例如性别、状态、级别等,这些...
【标题】"crud-demo_easyui增删查改_zip_" 指的是一个使用EasyUI框架实现的CRUD(Create, Read, Update, Delete)操作演示项目,被压缩为ZIP格式的文件。CRUD是数据库操作的基本功能,代表创建、读取、更新和删除...
在本文中,我们将深入探讨基于Laravel框架的CRUD(Create, Read, Update, Delete)生成器,特别是在Laravel 5版本中的应用。Laravel是一个优雅且强大的PHP框架,它为开发者提供了许多便利,使他们能够快速构建高质量...
tgext.crud库主要提供了一套用于创建CRUD(Create, Read, Update, Delete)操作的工具,对于Web应用开发而言,这是一个非常实用的功能。 CRUD是数据库操作的基础,通常用于构建应用程序的后台逻辑。tgext.crud库...
4. 删除(Delete):用户选择删除某条记录,前端通过AJAX发送DELETE请求,PHP执行删除操作。 在这个项目中,"readme.txt"可能是提供项目说明和指南的文本文件,指导开发者如何部署和运行此代码。"crud-php-ajax"...
在Laravel框架中,CRUD(Create, Read, Update, Delete)是基本的数据操作,而CRUD Generator则是一个工具,能够自动生成处理这些操作的代码,极大地提高了开发效率。本项目"laravel-crud-generator-templates"专注...
通过HTTP协议,使用GET、POST、PUT、DELETE等方法操作资源。在Flask中,可以使用`@app.route()`装饰器定义路由,以实现这些HTTP方法。 **3. 数据库操作** Python Flask可以与多种数据库集成,如SQLite、MySQL、...
Struts2 CRUD-2 是一个基于Struts2框架实现的简单数据操作示例,主要涵盖了创建(Create)、读取(Read)、更新(Update)和删除(Delete)这四个数据库操作的基本功能。Struts2是一个非常流行的Java Web开发框架,...