简体   繁体   English

Rails searchlogic插件在多列中搜索

[英]rails searchlogic plugin search in multiple columns

I have a form to a search engine. 我有一个搜索引擎表格。 I want to search for the searchterm in all fields of a specific model. 我想在特定模型的所有字段中搜索searchterm。

I'm using the searchlogic plugin. 我正在使用searchlogic插件。 It gives me a lot of new finders but i cannot do a OR between two fields. 它给了我很多新的发现者,但是我不能在两个字段之间做“或”运算。

for example: 例如:

How can i do a "SELECT * from my_table WHERE field1 LIKE '%xpto%' OR field2 LIKE '%xpto%' ? 我如何在my_table WHERE field1 LIKE'%xpto%'或field2 LIKE'%xpto%'中执行“ SELECT *”操作?

Specially in the form parameter that will be passed to my controller, if you know searchlogic you know what i'm speaking about, i'm trying to pass something like: field1_or_field2_like("xpto") but it dont works. 特别是在将传递给我的控制器的形式参数中,如果您知道searchlogic,那么您知道我在说什么,我正尝试传递类似以下内容:field1_or_field2_like(“ xpto”)但它不起作用。 Any idea? 任何想法?

Uhm... I don't think Searchlogic offers such functionality by default. 嗯...我不认为Searchlogic默认提供此类功能。 But why not write the named_scope yourself? 但是,为什么不自己编写named_scope呢?

class MyModel
  named_scope :field1_or_field2_like lambda { |*args| {:conditions => ["field1 LIKE '%?%' OR field2 LIKE '%?%'", args.first, args.first]} }
end

根据插件作者的帖子 ,虽然Jongsma指出您可以使用自己的named_scope实现它,但并不打算为此提供支持。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM