0

我在我的模型中链接了多个位置,它看起来像这样 - user.watched_posts.commented_posts

其中watched_posts 和commented_posts 只是User 模型中调用where 的方法。目前结果SQL在条件之间有AND关系,
SELECT * FROM users WHERE (--watched_posts-) AND (--commented_posts--)

如何链接方法但获取和 OR 关系?
SELECT * FROM users WHERE (--watched_posts-) OR(--commented_posts--)

我不想创建像“watched_or_commented_posts”这样的方法,因为它会很奇怪......而且我还有很多其他方法会被链接起来,我需要一个 OR 关系。

你的帮助将不胜感激,Yosy。

4

1 回答 1

1

ActiveRecord 接口不为or. 然而,它是由 Arel 提供的,这也是 ActiveRecord 使用的。您可以使用arel_table类方法访问模型的 arel 表。

看看 Arel github 的 OR 部分:

https://github.com/rails/arel

于 2013-05-05T18:49:27.923 回答