问题标签 [arel]
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.
ruby-on-rails - Arel 聚合、计数、外部连接?
我有一个Fact
模型,它has_many
:votes
。投票也有一个user_id
字段。我想在Fact
模型的范围内表达以下内容:给我所有有 0 票且user_id
等于 X的事实。
我对 Arel 不太熟悉,无法理解如何解决这个问题。想法?
activerecord - 是否可以获得关联的 ActiveRecord::Relation 对象
关联方法,例如由定义
has_many
和belongs_to
利用的方法ActiveRecord::Relation
吗?如果是这样,是否可以获得
ActiveRecord::Relation
正在使用的对象。
我们都知道 Rails 3在使用Query InterfaceActiveRecord::Relation
创建查询时大量使用对象,并且Arel::Relation
在后台使用对象。每当我们使用查询接口的,等方法时,都会返回一个对象。但是,在调用模型的关联方法时,情况似乎并非如此。相反,查询会立即执行,并返回关联模型的一个实例或实例数组。select
joins
ActiveRecord::Relation
考虑以下模型:
post.rb
user.rb
例子:
调用u.posts
返回一个帖子数组,而不是ActiveRecord::Relation
. 我想知道是否有可能获得协会正在使用的那个ActiveRecord::Relation
,如果它正在被使用,也许是通过使用?Arel::Table
我想要的理由ActiveRecord::Relation
应该很明显:这是因为我想链接现有的关联并操纵查询以适应不同的目的。
ruby-on-rails - 如何覆盖:在 has_many 中定义的顺序
我有
我正在尝试查询按名称 DESC 排序的所有书籍
但结果是
结果以 ASC 排序的名称返回
有没有办法删除关联中的原始订单或覆盖它?还是在关系中指定顺序是个坏主意?
使用 Rails 3.0.3
activerecord - 为什么 Arel 查询返回为 ActiveRecord::Relation 类而不是父类?
我有一堂课:
在 Rails 控制台中,当我执行以下查询时:
这很重要,因为当我尝试访问类属性时出现无方法错误:
我究竟做错了什么?
ruby-on-rails-3 - 如何在自引用表上编写 AREL 语句
我已经写了很多 AREL 声明,但我对这个声明束手无策。这是我的情况:
我想检索具有与某个值匹配的标识符的子产品的所有产品。
我用这个把自己扭成椒盐卷饼,看起来很容易,但我已经看了太久了。我很感激任何帮助!
ruby-on-rails - Rails 3 和 Acl9:查找给定对象/角色的所有主题
我正在使用带有acl9的rails3进行授权。我正在尝试了解 ARel 和 rails 的查询方式。
我有一个属于Company的User ,并且该用户对Company具有给定的角色(acl9 提供管道)。如何从给定公司获取具有特定角色的所有用户?我想过滤 DB 中的结果,而不是在应用程序中过滤它们。
我想要这样的东西:
我知道 rails3 有一个 sql api,但我来自 Java/Grails 的地方,而且我使用的大多数 ORM 都有一些 ORM api(我想 datamapper 是这样工作的,但我使用的是普通的 rails3)。
sql - Sql 聚合计数 = 0
我在 Rails 3 应用程序中有以下模型,并选择要求:
class Item < AR
has_many :holdings
class Holding < AR
belongs_to :item
控股模型具有“活动”布尔值。
我希望找到每个拥有 0 个“活动”持有量的项目(它可能有任意数量的关联持有量),我尝试了很多组合。
SELECT * from items JOIN
(SELECT holdings.item_id, count(ifnull(item_id,0)) AS hcount FROM holdings
WHERE holdings.active = "t"
GROUP BY holdings.item_id
HAVING hcount = 0)
ON items.id = holdings.item_id
但这只会返回大于 0 的计数。
谁能指出我正确的方向?
ruby-on-rails - Rails where 条件使用 NOT NIL
使用 rails 3 样式我将如何编写相反的内容:
我想找到 id 不为零的地方。我试过:
但这会返回:
这绝对不是我需要的,而且几乎看起来像是 ARel 中的一个错误。
ruby-on-rails - rails2 到 rails3 升级问题
我正在尝试将我的应用程序从 Rails 2.3.5 升级到 Rails 3.0.3。
型号:
Project.rb
项目角色.rb
project_roles 表列是 user_id、project_id、name
我遇到以下错误时遇到了困难,请提出建议。
谢谢。
问题出在 make_project_owner 回调中。create_calendar_for_project 运行良好。
我将 make_project_owner 更改为以下仍然出现相同的问题。
我尝试降级 rails:
rails 3.0.2 -> 有同样的问题
rails 3.0.1 -> has different error
ruby-on-rails - Rails 3从连接返回所有列
我正在尝试加入两个表并返回所有列,而不仅仅是与模型关联的列。
我有类似的东西:
SQL 看起来不错,但它仍然只返回评论,没有任何与之关联的用户信息。
我怎样才能检索*
而不仅仅是comments.*
?