我对rails很新。
我有一个包含参与者和参与者类别的应用。我正在为参与者创建一个命名范围,该范围属于“1”类或“8”类。我想要一个/或类型的查询。这看起来很基本......但是我最难找到答案。
我现在就在这里:
scope :organizer, -> { where(cat_id: 1 or cat_id: 8)}
答案 0 :(得分:3)
试试这个:
scope :organizer, -> { where('cat_id = ? or cat_id = ?', 1, 8) }
这里有什么问题:
您尝试混合SQL
运算符OR
和ruby方法调用。
用于rails console
中的未来研究测试查询:
=> User.where(first_name: 'Foo').to_sql
#> "SELECT \"users\".* FROM \"users\" WHERE \"users\".\"first_name\" = 'Foo'"
=> User.where(first_name: 'Foo' or last_name: 'faw').to_sql
SyntaxError: unexpected keyword_or, expecting ')'
User.where(first_name: 'Foo' or last_name: 'faw').to_sql
^