gpt4 book ai didi

ruby-on-rails - rails 4 中 "find_all_by_id"的等价物是什么

转载 作者:行者123 更新时间:2023-12-03 16:17:59 28 4
gpt4 key购买 nike

我有一个 id 数组,我想使用事件记录查询从数据库中找到它们各自的记录。例如:ids = [2, 3, 1]
现在,让我找到一个特定模型的所有记录,其 id 是数组中的一个,在较低版本的 rails 中,我想我可以执行以下操作:

Model.find_all_by_id([2, 3, 1])

但根据 this post ,
These methods were deprecated on 4.0 and removed at 4.1. If you want to
keep sing then you need to include this gem
https://github.com/rails/activerecord-deprecated_finders

我的问题是有没有办法在 rails4.2 中做到这一点而不必包含 gem?

谢谢。

最佳答案

officially proposed alternativeModel.where(id: [2, 3, 1]) .

# There are 3 users in the db, with ids 1, 2, and 3
> User.where(id: [1,2,3,4,1234]).pluck(:id)
SQL (2.5ms) SELECT `users`.`id` FROM `users` WHERE `users`.`id` IN (1, 2, 3, 4, 1234)
=> [1, 2, 3]

请注意:

建议(现已删除) Model.find([2, 3, 1])不是 等效,如果数组中的任何 id 不存在,它将抛出异常。

同样,建议的(现已编辑掉) Model.find_by(id: [2, 3, 1])不是 等效,它只返回一个结果。

关于ruby-on-rails - rails 4 中 "find_all_by_id"的等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31867062/

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