Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:获取数据库结果并搜索结果_Ruby On Rails_Activerecord_Fetch - Fatal编程技术网

Ruby on rails RubyonRails:获取数据库结果并搜索结果

Ruby on rails RubyonRails:获取数据库结果并搜索结果,ruby-on-rails,activerecord,fetch,Ruby On Rails,Activerecord,Fetch,我有一套名为“brands”的表格ID。我想获取brand表中每条记录的name列,而不必使用brand.find(brand_id)重新查询数据库。相反,是否有方法将数据库结果存储到变量中并查询该变量 谢谢。这将返回品牌id Brand.find(:all, :conditions => ["brand_id = ?", brand_id]) 对于品牌标识的集合s Brand.find(:all, :conditions => ["brand_id IN (?)", [brand

我有一套名为“brands”的表格ID。我想获取brand表中每条记录的name列,而不必使用brand.find(brand_id)重新查询数据库。相反,是否有方法将数据库结果存储到变量中并查询该变量


谢谢。

这将返回
品牌id

Brand.find(:all, :conditions => ["brand_id = ?", brand_id])
对于
品牌标识的集合
s

Brand.find(:all, :conditions => ["brand_id IN (?)", [brand_id1, brand_id2]])

品牌。获取相关品牌

而不是

brand.brand_id

关于对@Harsh Gupta的回答的评论,也许吧

@filtered_brands = Brand.where(id: <some_id>)
@filtered\u brands=品牌。其中(id:)

然后,您可以在常规的each循环中访问每个品牌的所有信息。

如果您已经在var@brands中收集了记录,您可以使用

name = @brands.find {|b| b.id == brand_id}.name

非查询

是否有方法查询该结果以获得“名称”字段,例如
returnedBrands.find(aSpecificID).name
其中returnedBrands是一个包含
Brand.find.find(:all)
的数组?正如其他人所指出的,您可以使用数组的
select
pull
函数来检索特定记录。e、 g.
Brand.find(:all,:conditions=>[“Brand_id=?”,Brand_id])。如果record.id==someID,则选择{record | record.name}
如果只需要特定列,则可以在
find
方法中添加
select
属性。e、 g.
Brand.find(:all,:select=>id,name,:conditions=>[“Brand_id=?”,Brand_id])。如果record.id==someID,则选择{record | record.name}
name = @brands.find {|b| b.id == brand_id}.name