ruby-on-rails-3 - Rails 3 只选择值

标签 ruby-on-rails-3 activerecord

在 rails 3 中,我想做以下事情:

SomeModel.where(:some_connection_id => anArrayOfIds).select("some_other_connection_id")

这有效,但我从数据库中得到以下信息:

[{"some_other_connection_id":254},{"some_other_connection_id":315}]

现在,那些 id-s 是我需要的,但我无法进行给我 id 的查询。我不想重复计算结果,只是为了得到这些数字。我有什么办法可以用这样的东西来做到这一点:

SomeModel.where(:some_connection_id => anArrayOfIds).select("some_other_connection_id").values()

或者类似的东西?

我一直在尝试使用在 Git-hub 找到的“.select_values()” ,但它只返回“some_other_connection_id”。

我不是 Rails 方面的专家,所以此信息也可能有帮助:

“SomeModel”是一个连接表,用于我的其他模型之一中的多对多关系。因此,实际上我要做的是从 ID 数组中获取连接另一端的所有条目。基本上我有源 ID,我想从具有所有目标 ID 的模型中获取数据。如果有一种无需我自己执行所有 sql(在 active record 的帮助下)就可以获取这些信息的神奇方法,那就太好了!

谢谢:)

最佳答案

尝试 pluck方法

SomeModel.where(:some => condition).pluck("some_field")

它的工作原理是

SomeModel.where(:some => condition).select("some_field").map(&:some_field)

关于ruby-on-rails-3 - Rails 3 只选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6909769/

相关文章:

ruby-on-rails - Rails 无法修改卡住的字符串

php - 使用 Codeigniter 从结果集中获取值

mysql - 使用 join 获取可用时间段

ruby-on-rails - 在 ruby​​ 中更改某些值后,如何维护具有原始值的哈希副本?

ruby-on-rails-3 - 有没有人让acts_as_list 在rails 3 上工作?

javascript - 如何创建更新模型属性的按钮?

javascript - 使用 cryptojs 解密不起作用

php - CodeIgniter - 确保 activerecord where 语句有一个条件

ruby-on-rails - 使用 `update_all` 时运行验证

ruby-on-rails - Rails 迁移不添加 id 列