Ruby on rails RubyonRails:获取数据库结果并搜索结果
我有一套名为“brands”的表格ID。我想获取brand表中每条记录的name列,而不必使用brand.find(brand_id)重新查询数据库。相反,是否有方法将数据库结果存储到变量中并查询该变量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
谢谢。这将返回
品牌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