当前位置: 首页 > 知识库问答 >
问题:

在数组中查询值的活动记录

凌华奥
2023-03-14

问题:是否可以构建一个类方法作用域,它可以基于表中数组中的值查询对象?如果是,我怎么做?

@well = Well.all
@query = @well.where(“well_tags contains ceramic”)
class Well < ActiveRecord::Base

def self.well_tag_filter(well_tag_search)
  if well_tag_search.present?
    where(“well_tags contains ceramic")
  else
    Well.all
  end
end

更新:一些进展

我知道了如何使用'select'方法创建一个数组,其中包含我想要的所有对象。但是我仍然需要将结果作为活动记录对象返回,所以我创建了一个类方法范围。

@well = Well.select
        { |well| if well.well_tags.present?
        then well.well_tags.include? ‘ceramic' end }

@well.class #=> array

共有1个答案

程承恩
2023-03-14

不确定show来自何处。

您能试着做好.all而不是show.all吗?

 类似资料:
  • 我在Rails3中的MongoDB数据库中有一个名为“Stat”的表。 在该表中,有一个名为“服务”的数组字段。 我尝试了各种各样的东西,并广泛地搜索了它,找到了一些线索,但似乎没有任何工作。我有四条记录应该与此查询匹配,但上面返回的是一个零集。 我想做的事情在Rails3/mongo中可能吗?

  • 我的表中有一个字符串字段,其中包含一个json字符串。让我们命名tbl_表 假设它有以下3条记录: 现在我想获取在json字段中包含数字的记录(使用Yii2中的活动记录),因此: 此查询返回以下记录: 这实际上不是一个错误的结果,但我只想返回id=2的记录。我该怎么做? 那么对于或等等?数字是相似的,但我希望确切的数字是匹配的。 另一个问题,我想要最后一个问题的答案,在这部分有变化。换句话说,我想

  • 问题内容: 我需要一个activerecord查询来匹配params数组中的所有项目。 假设用户具有has_many个角色。每个角色都有一个名字 当我通过[‘演员’,’制作人’,’歌手’]时。我希望查询返回给我具有所有这三个角色或更多角色的用户。 但是我下面的方法实现将返回具有至少一个与传递的数组中的角色名称匹配的角色名称的用户 我当前的方法基于找到任何标签而不是“ MATCH ALL”来给出结果

  • 问题内容: 如何使用PHP CodeIgniter框架的活动记录查询格式进行UNION查询? 问题答案: CodeIgniter的ActiveRecord不支持UNION,因此您只需编写查询并使用ActiveRecord的查询方法即可。

  • 问题内容: 我有一个具有相似结构和数据的示例表,如下所示: 表在每个学生出现的所有科目中都有每个学生的合并标记。 请帮助我,编写一个查询以提取每个学生( 不分学科/其他学生 )获得的MAXIMUM分数,如下所示: 按S_Name和Max(MARK_Value)分组 问题答案: 使用窗口功能 或者您可以使用相关的子查询

  • 我有一个从外部数据库获取数据的功能,我可以获得特定的电影信息,如id、名称、类型等。现在,如果电影类型是例如动画,我只希望将这一种类型添加到db中。现在我可以使用isset来解决这个问题,但接下来我会为tyresnull设置db条目,我想避免这种情况。解决这个问题的最佳方法是什么?使用foreach循环?