【问题标题】:In Rails 5, how do I write a finder "like" query on a member field?在 Rails 5 中,如何在成员字段上编写查找器“like”查询?
【发布时间】:2020-02-21 17:26:48
【问题描述】:

我正在使用 Rails 5。我如何拥有这个模型...

类书

has_one :author

作者类有一个属性“name”。如何为作者包含字符串“Joe”的书籍对象编写查询?我试过这个

Book.includes(:author).where(:author => [ "LOWER(name) LIKE :search", :search[Dch => "%joe%"])

但没有骰子。

【问题讨论】:

    标签: ruby-on-rails-5 sql-like finder


    【解决方案1】:

    尝试:

    Book.joins(:author).where('LOWER(authors.name) LIKE ?', '%joe%')
    

    plural_table_name.column_name LIKE ... 语法应该可以工作。

    在这种情况下,您不能使用哈希参数来调用 where,因为您使用 LIKE 运算符进行查询。

    请注意,我已将您的 includes 更改为 joins,因为我不知道您是否会在获得查询结果后调用“子”列。 joins 足以添加 INNER JOIN 子句并获得对作者列的访问权限。

    【讨论】:

      猜你喜欢
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多