gpt4 book ai didi

ruby-on-rails - 如何从数据库中删除 Rails 中的 id/对象数组?

转载 作者:行者123 更新时间:2023-12-02 12:05:48 25 4
gpt4 key购买 nike

我知道人们可以做类似 Model.destroy_all(status: "inactive") 的事情。我希望我的案子这么简单,但我不能那样做。我有一个加密的字符串列,它通过 attr_encrypted gem 映射到整数数组,这使得这很麻烦。

基本上,我有一个像这样的数组:array = [object1, object2, object3, object4] 其中每个对象都是模型对象。

我希望能够执行诸如 Model.destroy_all(array)Model.delete_all(array) 之类的操作,但我无法执行此操作。

我什至尝试了以下方法:Model.destroy_all(array.map(&:id))Model.delete_all(array.map(&:id))我无法成功删除它们。

我希望尽可能高效,并且我认为 array.map(&:destroy)array.map(&:delete) 不会效率很高,因为我会接到 N 个电话。我应该这样做并将其包装在交易中吗?有更好的办法吗?

更新:我找到了答案,并在下面包含了答案。

最佳答案

好吧,这很愚蠢。事实证明我可以这样做:

Model.delete(array)Model.destroy(array) 其中第一个不执行任何回调并且肯定要快得多,而另一个实例化并执行所有回调。

关于ruby-on-rails - 如何从数据库中删除 Rails 中的 id/对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26727173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com