Ruby on rails 什么是';拆分';在这个范围内完成什么?
我在一篇博客文章中找到了这个范围Ruby on rails 什么是';拆分';在这个范围内完成什么?,ruby-on-rails,Ruby On Rails,我在一篇博客文章中找到了这个范围 scope :search_by_title, -> (title) { where("(title like ?) OR title in (?)", "%#{title}%", title.split) } 。。。我想找出OR对的后半部分 如果查询是“香蕉蛋糕”, 在我看来,示波器的工作原理是这样的 scope :search_by_title, -> ("banana cake") { where("(title like ?) OR tit
scope :search_by_title, -> (title) { where("(title like ?) OR title in (?)", "%#{title}%", title.split) }
。。。我想找出OR对的后半部分
如果查询是“香蕉蛋糕”,
在我看来,示波器的工作原理是这样的
scope :search_by_title, -> ("banana cake") { where("(title like ?) OR title in (?)", "%banana cake%", ["banana","cake"]) }
这看起来一点用都没有
有人举过一个例子来说明这个范围是如何工作的吗
谢谢- 当您的标题包含“
”时,范围的第一部分(在香蕉蛋糕”
之前)将起作用或
- 当您的查询为“
”或“banana
”时,作用域的第二部分(在cake
或
之后)将起作用
- 因此,它很有用,因为您可以搜索“
”或“香蕉蛋糕
”或“香蕉
”蛋糕
- 如果您没有
部分,则您对“标题。拆分
”或“香蕉
”的搜索将不起作用。它仅适用于“蛋糕
”香蕉蛋糕”
- 当您的标题包含“
”时,范围的第一部分(在香蕉蛋糕”
之前)将起作用或
- 当您的查询为“
”或“banana
”时,作用域的第二部分(在cake
或
之后)将起作用
- 因此,它很有用,因为您可以搜索“
”或“香蕉蛋糕
”或“香蕉
”蛋糕
- 如果您没有
部分,则您对“标题。拆分
”或“香蕉
”的搜索将不起作用。它仅适用于“蛋糕
”香蕉蛋糕”
标题并向其传递数组时;您正在指定SQL编译器标题必须具有此数组元素之一的精确值。我想我必须启动rails应用程序并检查一下。我一直认为只要使用“title-like”就可以完成同样的事情。当您在(?)
中编写title并向它们传递数组时;您正在指定SQL编译器标题必须具有此数组元素之一的精确值。我想我必须启动rails应用程序并检查一下。我一直认为我可以用“像标题一样”来完成同样的事情。我可能写错了我的问题。但我似乎可以键入'cake',它将匹配'banana cake',而无需使用查询的SQL'in'部分。看看我为什么在这里说这个。。。我可能把问题写错了。但我似乎可以键入'cake',它将匹配'banana cake',而无需使用查询的SQL'in'部分。看看我为什么在这里说这个。。。