问题标签 [squeel]

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 投票
0 回答
271 浏览

ruby-on-rails - 有很多:通过多态关联而不是 Squeel 1.1.1 的别名类型列

我有几节课:

用户和包可以在组中具有成员资格。在我尝试获取属于某个组的用户之前,所有这些似乎都可以。在控制台中,使用组 g 的实例:

很容易看到错误 - Users 表没有 Member_Type 列,它位于 Membership 表中。

为什么该列没有适当地别名?还有其他人有这个问题吗?

更新

这是 Squeel 的一个问题 - 从我的 Gemfile 中删除它并且关联行为正常。

记录了一个问题 - https://github.com/ernie/squeel/issues/288

0 投票
0 回答
157 浏览

activerecord - Rails 4:使用可选连接进行查询

我有以下课程。它们的工作方式相同:一个人可以是许多学校的监护人、雇员和学生,而且他们也有一个用户。

如何在一次查询中检索属于特定学校的所有用户?例如,要获取所有员工用户,我可以执行(使用squeelgem):

我只是不知道要写什么查询来包含所有三种情况。谢谢你的帮助

0 投票
1 回答
928 浏览

ruby-on-rails - 如何处理宝石冲突?

我正在使用两个 gem,即 squeel 和 activeadmin,运行 bundler 给我带来了问题,即:

我该如何处理?任何的想法?

0 投票
0 回答
48 浏览

sql - 选择具有列中所有参数的产品

我有一个Product模型ProductParams,并且我在其中存储产品 ID、带有一些附加参数(param)和参数类型的列。它看起来像这样:

当我用 调用它时,如何只获得第一个产品params = [blue, hard]
现在我想到了类似的东西Product.joins{product_params}.where{product_params.param.in params}.uniq,但我也得到了第二名,因为它blue太......

我使用 squeel gem 来构造 SQL 查询,但答案也不必在 squeel 中。

编辑
我想出了解决方案,但这有点奇怪:

但如果有更优雅的,那就太好了。

0 投票
1 回答
70 浏览

ruby-on-rails - 在 Rails 中使用链或类似的东西来缩小结果

如何缩小 Rails 中表格的结果范围?

我正在使用 Rails 4.0.2 和 PostgreSQL 并且可以

但不是

要得到

我错过了什么吗?

我已经尝试过使用 Squeel,并且可以类似地做

但不是

产生

关于如何使用和/或不使用 Squeel 的任何想法?谢谢!

更新

正常查询的问题是由 flag2 和 flag3 值可以是 nil 或 false 引起的。我试图在 Squeel 中考虑到这一点。

我可以

但不是

返回

0 投票
1 回答
1696 浏览

ruby-on-rails - ActiveRecord::QueryMethods::WhereChain

我正在使用squeel并且我ActiveRecord::QueryMethods::WhereChain从查询而不是ActiveRecord::AssociationRelation.

询问:

返回的查询AssociationRelation

注意引号改变了返回类型。

楷模

知道这ActiveRecord::QueryMethods::WhereChain是什么以及如何使用或避免它吗?

  • 红宝石 2.0.0
  • 轨道 4.0
  • squeel 1.1.1
0 投票
1 回答
283 浏览

ruby-on-rails - ActiveRecords Join with conditions:如何使用 squeel sifters 在同一张表上加入不同的条件集?

我有两个活动记录类,用户和用户技能。UserSkill有一个squeel sifter,如下图:

我目前正在实施搜索,并在控制器中有这个:

我的问题是,基本上,当应用关系时,我最终得到以下 sql:

这不是我想要的:

实际上,我希望用户的 user_skill 的技能 ID 为 10,并且用户技能的技能 ID 为 11 且值高于 2。

ActiveRecords 似乎“链接”了条件,并且我总是以空关系结束,因为 UserSkill 不能同时具有 10 和 11 的 id!

我想以某种方式区分第一个条件和第二个条件,以便我让具有 user_skills 的用户按顺序满足第一个条件和第二个条件,而不是相同的 user_skill 行,并且不知道如何实现那!

我认为别名将是要走的路,但是如何使用 squeel 或 ActiveRecord 语法为要引用的每个 user_skill 指定不同的别名?

我想我的问题与这个问题非常相似,但是由于我使用的是循环,我认为我不能使用建议的解决方案!

编辑:我也在 squeel github 上找到了这个,但不确定如何将它应用到我的特定用例中:需要一种方法来为同一关系上的多个连接设置别名连接

最后编辑:

我在 sql 中编写了一个可行的解决方案,但正如您所见,它非常难看:

0 投票
1 回答
23 浏览

ruby-on-rails-3 - 如果用户未在 squeel 中输入日期,则应给出日期的默认值以返回所有记录

我正在使用 squeel gem,我有一个场景,当用户没有输入员工加入日期时,所有记录都应该返回,否则根据员工加入日期返回记录。我的查询是这样的:

date = Date.today Employee.joins { passports.visas }.where { (employees.joining_date.eq "%#{date}%")

所以如果用户没有给出日期,那么我应该把日期的默认值放在什么位置以便它检索所有记录?

0 投票
2 回答
498 浏览

sql - 在 Ruby on Rails 4 中使用 Active Record 或 Squeel Gem 重写 SQL 查询

我在使用 Ruby on Rails 4 在 Squeel 或直接 Active Record 中重写此 SQL 查询时遇到了很多问题。

查询中的所有 3 个数字都需要在执行前传递给查询。SQL查询如下。

您可以在 Ruby on Rails 中尝试在控制器中链接类方法时在 Error 中找到有关如何使用它的更多详细信息

0 投票
0 回答
296 浏览

ruby-on-rails - Squeel 查询不能与 Ruby on Rails 中的 pg_search 查询链接

我想执行以下代码在我的控制器中执行搜索:

专家控制器.erb

当我运行应用程序时,我收到以下错误:

当我删除使用 pg_search 的 text_search 方法时,我得到它按计划工作:

你能告诉我为什么我会收到错误以及如何解决它吗?

这是我的代码。

用户模型 - user.erb