Rails - 通过属性在活动记录关联中查找对象而不发出更多查询

日本强盗

很短的问题,我觉得答案一定已经在 StackOverflow 上,但我找不到。

我有一些传入参数。他们每个人都有一个唯一的ID。

我查询数据库并使用以下内容获取活动记录关联:

existing_things = current_user.things.where(uuid: [param_uuids])

这为我提供了这些对象的 Active Record 关联。

但是,我后来做的是:

existing_things.where(uuid: some_specific_uuid)

当然,当我运行上述查询时,它会发出一条 SQL 语句。

我想做的是在预加载的 Active Record 对象数组中找到一个对象,然后返回该对象而不发出另一个查询。

我该怎么做?

马修

如果它是一个普通数组,你会用同样的方式:Enumerable#find

existing_things.find { |t| t.uuid == some_specific_uuid }

(或者,select如果您期待不止一场比赛)


如果您要进行大量这样的查找,您可能希望涉及 Hash:

things_by_uuid = existing_things.index_by(&:uuid)
things_by_uuid[some_specific_uuid]

(同样,如果您期望每个值有多个匹配项,则有group_by

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails活动记录查询与“ exists”的关联

来自分类Dev

通过Rails中的关联3

来自分类Dev

Rails:通过相关记录的组合查找记录

来自分类Dev

Rails如何通过关联的ID包含数组查找记录

来自分类Dev

Rails活动记录关联,嵌套模型

来自分类Dev

通过Rails中的给定嵌套属性创建关联

来自分类Dev

Ruby on Rails 4通过ID查找对象

来自分类Dev

基于关联属性的Rails查询记录

来自分类Dev

Rails活动记录关联:从多个表中获取数据

来自分类Dev

Rails从关联中查找数据

来自分类Dev

Rails 4活动记录查询

来自分类Dev

Rails记录未关联

来自分类Dev

如何使用Rails活动记录查询中包含的联接?

来自分类Dev

Rails活动记录查询结果

来自分类Dev

Rails活动记录查询与“ exists”的关联

来自分类Dev

如何在Rails(活动记录)中定义多对多关联和相关属性?

来自分类Dev

通过Rails中的关联3

来自分类Dev

无法在Rails 3.1.11的活动记录中查询“组”

来自分类Dev

在Rails活动记录中创建丰富的多对多关联

来自分类Dev

编写单个Rails活动记录查询以通过与两个表关联来获取所有项?

来自分类Dev

在Rails 4 App中按ID查找对象

来自分类Dev

Rails 4活动记录,通过检查序列化的数组属性是否包含在另一个数组中来查找对象

来自分类Dev

Rails-活动记录:查找所有具有某些属性的has_many关联计数的记录

来自分类Dev

通过Rails关联查询

来自分类Dev

Ruby on Rails活动记录查询

来自分类Dev

在与Rails深度嵌套的关联中查找记录

来自分类Dev

Rails活动记录查询嵌套关联是否存在

来自分类Dev

在 Rails 中查找缺少关联记录的记录

来自分类Dev

基于ruby on rails中关联模型属性的模型排序记录

Related 相关文章

热门标签

归档