我在我的模型中链接多个位置,它看起来像那样 -
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。
答案 0 :(得分:1)
ActiveRecord接口不提供or
的包装器。它由Arel提供,这是ActiveRecord使用的。您可以使用arel_table
类方法访问模型的arel表。
看一下Arel github的OR部分: