问题标签 [meta-where]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2114 浏览

ruby-on-rails - 与 Arel 和 MetaWhere 的多个 LIKE 匹配

我正在将带有 SearchLogic 的 Rails-2.3 编写的应用程序转换为带有Arel 和 MetaWhere 的 Rails-3.0 并且我正在运行一个我不知道如何编写的操作。

旧代码是:

这样做是LIKE对 params[:city] 数组中的每个项目进行匹配。

当只有一个搜索词时,这在 MetaWhere 中很容易:

但是我如何用任意数量的城市写这个?

0 投票
1 回答
297 浏览

ruby-on-rails - 使用 metawhere 搜索标签

我正在尝试对模型及其关联标签执行多列搜索。我正在使用 metawhere 并为此充当可标记的角色。基本上我有一个带有标题和正文的模型,其中有一定数量的带有名称的标签。我一直在尝试使用 metawhere 设置此查询,但是当我尝试加入模型的标签时它从不返回任何结果。我有一个名为“str”的变量,用于搜索具有以下内容的 Post 模型...

生成以下sql ...

谁能指出我正确的方向?任何帮助将不胜感激。

0 投票
9 回答
81898 浏览

ruby-on-rails - 想在 Rails 中查找没有关联记录的记录

考虑一个简单的关联......

让所有在 ARel 和/或 meta_where 中没有朋友的人最干净的方法是什么?

那么 has_many :through 版本呢

我真的不想使用 counter_cache - 从我读过的内容来看,它不适用于 has_many :through

我不想提取所有 person.friends 记录并在 Ruby 中循环它们 - 我想要一个可以与 meta_search gem 一起使用的查询/范围

我不介意查询的性能成本

离实际 SQL 越远越好……

0 投票
1 回答
378 浏览

sql - 如何在 MetaWhere 中编写此 SQL?

我将如何使用MetaWhere(在 Rails 3 中)编写此查询?

我正在尝试在我的User类上添加一个方法,该方法buddies将返回friendsinverse_friends从这个Railscast on self-referential association 中返回。

我会很感激任何帮助!


编辑:我希望能够查询返回的集合,这样我就可以做到:


解决方案:没关系最后一次编辑,我只是​​将我的is_a_buddy_of?(user)方法修改为这个,|在我现有的关联上使用运算符:

0 投票
2 回答
1881 浏览

ruby-on-rails - 如何在 Rails 3 中搜索 has_many 关联(meta_where 或 railslogic?)

我有一个名为 UserHasMessages 的模型,其中:

User.rb 模型是:

我想查找关联的 UserHasMessages 的 Message_id 为 @message.id 的用户

我尝试过这样的事情(使用搜索逻辑)但它没有用,并且不知道从哪里开始 meta_where:

0 投票
1 回答
274 浏览

ruby-on-rails - How can I convert that to MetaWhere or Arel?

Consider a City Model having:

How can I use Arel or Metawhere in that situation knowing that field is a String can have anything like:

"name" "residents.name" "state.name"

I want to do something like that (will not work):

So, what are your thoughts?

The real question is, how can I convert that:

"residents.name LIKE '#{value}%'"

To that:

:residents => { :name =~ "#{value}%" }

0 投票
1 回答
634 浏览

sql - 包含以 PHRASE 开头的整个单词的字段内容的 SQL 查询

我正在尝试编写一个 SQL 查询来获取其字段包含多个关键字的行。查询的用途是为使用 jQuery 实现的自动完成功能获取结果。

现在,自动完成功能有效,但我的结果将包括特定字段中的内容包含查询的每一行。例如,如果我输入短语“ar”,我的结果将包括 car、guitar、bark 等。

我只想返回以该短语开头的结果,因为用户很可能不会输入单词中间的随机片段。 我可以使用[I am using the gem] 来获取第一个单词以查询开头的所有行。Model.where((:name =~ "#{params[:q]}%")meta_where

但是,我还想返回字段中第二个单词以查询字符串开头的行,即使第一个单词没有。

例如,对于“black dog”和“dog food”行,查询字符串“do”应该返回这两行,而查询字符串“do”不应该返回“undo”。

我应该如何为这样的搜索编写 SQL 查询?

0 投票
1 回答
214 浏览

ruby-on-rails-3 - 如何在 Rails 3 的 metawhere 中搜索关联?

当我使用 searchlogic 时,我可以使用以下内容:

例如,它可以让我搜索属于 Todo 记录的联系人的营销活动。

这是我尝试过的(不知道如何进行排序:

我如何用 metawhere 做类似的事情?

0 投票
1 回答
97 浏览

ruby-on-rails-3 - 我将如何使用 metawhere 搜索关联并加入表格?

我有两个模型:Message 和 UserMessage。我从 SO 上的其他地方获得了这个架构,但遇到了一些挑战。

每条消息都有两个 UserMessage:一个 UserMessage 有一个发送者的 user_id,另一个有一个接收者的 user_id。这允许一方独立于另一方删除或更改消息的状态。

如何找到在 sender_id 和 receiver_id 之间发送的所有消息的列表?

例如,如果我执行的 UserMessage.where(:user_id => sender_id) 不只显示收件人。

另外:一条消息可能有很多用户消息,所以我需要能够唯一地找到消息或按消息分组。换句话说,五个 UserMessage 都属于同一个消息,我只想要那个消息的最新日期 UserMessage。

我在想,如果我可以生成一个包含所有消息的列表,其中一个 UserMessage 是 sender_id,另一个是 receiver_id,那会起作用,但我该怎么做呢?

0 投票
2 回答
172 浏览

ruby-on-rails - 如何使用 metawhere 和 joins 执行此查询?

我有用户.rb:

每个 Message.rb 都有一个 account_id 和一个 :givereceive 方法:

我想为 Account.rb 模型创建一个方法,以便我可以显示所有发送消息的用户(唯一),其中 account_id 与该帐户相同并且 :givereceive = "Give"

我尝试了以下方法:

但是我收到一个错误,即与消息没有关联。

此外,这不会删除重复的实例 (例如,同一用户使用同一帐户创建了多条消息)。

我正在控制台中对其进行测试并拥有 metawhere gem。

谢谢。