【发布时间】:2017-07-07 13:50:11
【问题描述】:
好吧,所以我不确定这是否不太具体......但我真的不知道如何构建这样的查询,无论是在 AR 中还是在 SQL 中。所以情况是这样的:
- 我有一个
User模型。Userhas_manyProjects。反过来,Project具有以下关联: -
Projecthas_oneBasicEvent -
Projecthad_manyAdditionalEvents -
BasicEvent和AdditionalEvent类建立在继承自 AR 模型类Event的基础上
现在,目标是:在我看来,我需要:
- 访问所有
Projects 计数每个User - 访问所有
Events 个计数,其中happened_at属性位于nil - 按
Events 的计数对所有Users 进行排序,其中happened_at属性位于nil
到目前为止,我已经进行了几次尝试,但并没有走得太远......我将不胜感激对于这个复杂的(至少从我的角度来看)查询的任何帮助。
【问题讨论】:
-
你能详细说明你想要什么吗?我对每个用户和其他人的计数有点困惑
-
不确定,但我会尝试。我想知道
Projects 和User的数量。并且每个User也计算Events(但这两者之间没有直接关联,它通过Project发生)。最后,我希望所有的Users 都按Events 的计数排序。我希望这会有所帮助。 -
项目和事件之间有关联吗????并且应该有来自用户的关联,以有许多事件彻底的项目。来源是事件
-
Project和Event之间存在关联,但如上所述,Event会被进一步细分。不幸的是,User和Event之间根本没有任何关联。 -
你有没有研究过
counter_cache在rails 上的使用。 This blog 涵盖了如何设置的基础知识。
标签: sql ruby-on-rails activerecord