Ruby on rails开发从头来(五十二)- ActiveRecord基础(删除记录)
来源:互联网 发布:食人鱼3d知乎 编辑:程序博客网 时间:2024/05/17 00:53
Active Record提供了两种方式进行删除操作。首先,有两个类级别的方法,delete和delete_all,这两个操作处在数据库层面上,delete()方法接收一个或一组和数据库对应的id,delete_all()方法删除所有符合指定条件的记录,如果没有指定条件,就会删除所有的记录。方法的返回值和具体的数据库适配器相关,例如oracle返回被影响的行数。如果没有记录被删除,也不会抛出异常。
Order.delete(123)
User.delete([2,3,4,5])
Product.delete_all(["price > ?", @expensive_price])
另外,destory方法删除和数据库中行相对应的Model对象,这样会冻结这些对象,并且不能修改对象的值。
order = Order.find_by_name("Dave")
order.destroy
有两个类级别的destory方法,destory()方法接收一个或一组id,destory_all()方法接收删除条件。这两个方法都从数据库中读出对应的记录到Model对象,并且对这个对象调用实例级别的destory()方法,而且不返回有意义的信息。
Order.destroy_all(["shipped_at < ?", 30.days.ago])
为什么我们同时需要delete和destory方法呢?delete方法绕过了一些Active Record的回调(callback)和验证函数,而使用destory则不会,通常我们使用destory方法来确保我们的数据库是一致的,并且不会破坏Model中所包含的业务逻辑。- Ruby on rails开发从头来(五十二)- ActiveRecord基础(删除记录)
- Ruby on rails开发从头来(五十二)- ActiveRecord基础(删除记录)
- Ruby on rails开发从头来(三十七)- ActiveRecord基础
- Ruby on rails开发从头来(四十四)- ActiveRecord基础(创建记录)
- Ruby on rails开发从头来(四十五)- ActiveRecord基础(读取记录)
- Ruby on rails开发从头来(五十)- ActiveRecord基础(更新记录)
- Ruby on rails开发从头来(五十九)- ActiveRecord基础(预加载子记录)
- Ruby on rails开发从头来(五十九)- ActiveRecord基础(预加载子记录)
- Ruby on rails开发从头来(五十)- ActiveRecord基础(更新记录)
- Ruby on rails开发从头来(四十五)- ActiveRecord基础(读取记录)
- Ruby on rails开发从头来(四十四)- ActiveRecord基础(创建记录)
- Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)
- Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)
- Ruby on rails开发从头来(三十九)- ActiveRecord基础(访问属性)
- Ruby on rails开发从头来(四十)- ActiveRecord基础(Boolean属性)
- Ruby on rails开发从头来(四十一)- ActiveRecord基础(存储结构化数据)
- Ruby on rails开发从头来(四十二)- ActiveRecord基础(主键和ID)
- Ruby on rails开发从头来(四十三)- ActiveRecord基础(连接数据库)
- asp.net 2.0中扩展login控件
- Ruby on rails开发从头来(五十三)- ActiveRecord基础(表关联)
- oracle select语句中,不加for update和加 for update和for update nowait区别
- 在Ubuntu下编译Openoffice (7)
- 分享大批量数据导出到excel
- Ruby on rails开发从头来(五十二)- ActiveRecord基础(删除记录)
- linux下的so、o、lo、a、la文件有什么区别?
- Framebuffer原理、使用、测试系列文章
- 页面漂浮脚本。第一个面向对象的js
- GPU在视频转码中的应用研究进展
- Ruby on rails开发从头来(五十一)- ActiveRecord基础(并发处理)
- Ruby on rails开发从头来(五十)- ActiveRecord基础(更新记录)
- Ruby on rails开发从头来(四十九)- ActiveRecord基础(行数和再加载数据)
- node.js 入门(1)