我需要帮助通过Active Record和Postgresql设计查询 .
•查询必须搜索以下所有列...
模型看起来像这样:
Collection
item_id1: String
item_id2: String
item_id3: String
item_id4: String
item_id5: String
item_id6: String
•查询需要传入需要在所有 item_id
字段中搜索的字符串数组 .
•查询还必须仅返回包含数组中所有字符串的记录结果 .
Note: 我还安装了Textacular全文搜索gem . 但是,我测试了一个我认为只有在记录包含所有传入的字符串时才会搜索和返回匹配的搜索,并且搜索没有任何内容,尽管我的数据库中存在这些字符串的记录 . 像这样: Collection.advanced_search('B0066AJ5TK&B0041KJSL2')
1 回答
只是为了澄清:你想要记录数组中的每个字符串都在六个
item_id
字段中找到的位置吗?可能有一种更优雅的方式来做到这一点,但这就是我的头脑中的一切:
这应该产生这样的查询:
这是漫长而丑陋的,但应该得到你想要的结果 .
如果您的意思是字段可能包含要搜索的字符串,而不是等于它们,则可以改为使用
和