arel相关内容

Rails Arel 使用连接表上的 where 条件连接

我正在尝试将以下 Rails where 子句转换为使用 Arel,主要是为了利用 Arel 提供的 or 方法. 发布模型 class Post归属地:用户结尾 用户模型 类用户has_many : 帖子结尾 我正在寻找 Mark 发布的帖子. 这是 Rails 查询: Post.joins(:user).where(users: { first_name: 'Mark' ..
发布时间:2021-06-06 19:07:19 数据库

ARel中的案例陈述

我正在尝试使用ARel清理用MySQL案例语句编写的ActiveRecord代码.我知道Arel可以处理案例陈述,但不确定如何使用它. 所以我有一个带有数量和user_id(外键)列的订单表.我正在动态计算订单价格,因为基于订购数量存在不同的定价方案.这是AR代码的样子: def order_with_price ..
发布时间:2021-04-02 19:09:36 数据库

PG :: InvalidColumnReference:错误:对于SELECT DISTINCT,ORDER BY表达式必须出现在选择列表中

我有很长的关联,联接,排序依据等,最终是从我的一种rails模型中进行选择.归根结底,我需要结果是唯一和排序的.我不在乎SELECT语句中使用了哪些列,在ORDER BY中出现了什么,等等(所有这些更改都基于用户选择的过滤选项),我只是在乎查询是唯一的(基于ID). 对于背景, widgets 是主表,并且我们与 widget_steps 一起加入,这在Rails 3中(公司正在尝试尽快升级 ..
发布时间:2021-04-02 19:08:06 其他开发

渴望加载关联计数与Arel(Rails 3)

简单的任务:假设一篇文章有​​很多评论,则可以在长长的文章列表中显示每篇文章有多少评论。我正在尝试找出如何使用Arel预加载此数据。 自述文件文件似乎在讨论这种情况,但它并未提供示例代码,也未提供方法在两个查询中而不是一个联合查询中执行,这会降低性能。 给出以下内容: 类文章 has_many:注释 结束 类评论 所属类别:文章 结束 如何为文章预载设置每个 ..
发布时间:2020-10-27 04:41:44 其他开发

如何使用arel / relational代数和has_many获取不同值:through

当我尝试显示一个人所处的所有电影,并且它们在一部电影中具有多个角色(导演,编剧,演员)时,该电影会显示多行。如果我添加.select('DISTINCT id')或movie。*以尝试消除重复,则出现以下错误: Mysql2 :: Error:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'DISTINCT id FROM movies INNER J ..
发布时间:2020-10-22 18:39:44 其他开发

我将如何使用Rails 3和Arel联接到子选择(作用域)?

我需要将一个表联接到一个select/group-by查询(包括相同的表),我想使用Arel来实现. 我有一个:phenotypes表,它们是has_and_belongs_to_many :genes,它们本身是has_and_belongs_to_many :orthogroups.结果,表型和正交群之间的关系是多对多的. 我有两个作用域(在正交组上),它们获取与特定表型相关的所有 ..
发布时间:2020-07-25 19:55:47 其他开发

使用Arel生成子查询以获取平均值的平均值

让我们说我有几张桌子 orders = Arel :: Table.new:orders 存储= Arel :: Table.new:存储 经理= Arel :: Table.new:管理器 经理有很多商店,而商店有很多订单。 有一天,我想查询经理工作的订单的平均总数。哦,我想按商店分类。因此,要明确一点,我想获取经理在其工作的每个商店的平均订单总额。 ..
发布时间:2020-06-02 20:38:57 其他开发

具有Arel的多个CTE

我有以下格式的sql查询: 与from为(#{select * query}), 至as(#{另一个选择*}), 将as(#{另选*})评为 选择费率。*从费率到从 费率。 from_id = from.id和rates.to_id = to.id 如何将其转换为Arel?我调查了Arel CTE,但没有像上面的查询中那样使用多个别名的示例。 解决方案 这应该可以 ..
发布时间:2020-06-01 19:51:35 其他开发

Arel:来自Arel :: SelectManager的活动关系,具有联接

让我们拥有一个Rails 4.2.x应用程序,并且有两个表格的帖子和作者,并且我们想使用Arel来获取由作者==” Karl”创作的帖子。 (在这种情况下,我们可以对Active Record联接感到满意,但这只是为了使示例简单。) posts = Arel :: Table.new:posts 作者= Arel :: Table.new:authors my_query = ..
发布时间:2020-06-01 19:42:32 其他开发

Arel:使用符号的左外部联接

我有一个用例,其中我从某个模型获得了符号化的深层关联,并且我必须执行某些涉及使用外部联接的查询。没有手工编写完整的SQL怎么办? 我不想要的答案: -使用include(并不能很好地解决深层关联(.includes(:cars => [:windows, :engine => [:ignition] .....意外工作),我不希望其副作用) -自己编写SQL(对不起,现在是2013年,跨 ..
发布时间:2020-06-01 19:35:57 其他开发

使用ActiveRecord 3 / Arel查找单个记录的最佳方法?

我以前经常这样做的地方: Foo.find_by_bar('a-value') 我现在可以执行以下操作: Foo.where(:bar =>'a-value')。limit(1).first 这是推荐的吗?这是最好的方法吗?我应该继续使用“旧的”方法,因为它仍然是有用的语法糖,还是现在有一种更好的方法可以支持链接和所有其他好东西呢? 解决方 ..
发布时间:2020-06-01 19:34:55 其他开发