ruby on Rails 使用 where 子句获取活动记录
我有一个简单的问题 - 基本上我想获取一些符合某些条件的模型 X 的所有 ActiveRecords。我尝试在这里使用 X.where 方法,但我不确定它是如何工作的。基本上,我的模型 X has_many Y。
我有模型 Y 对象的 id 列表。我想找到所有模型 X,其 has_many Y 中至少有一个这些 id。
有没有一种简单的方法可以使用 X.where 来做到这一点?或者我需要更复杂的sql?
I have a simple question - basically I want to fetch all ActiveRecords of some model X which adhere to some conditions. I am trying to use the X.where method here but I am not sure how it will work. Basically, my model X has_many Y.
I have a list of ids for model Y objects. I want to find all of model X which has at least one of those ids in its has_many Y.
Is there a simple way I can do this using X.where? Or do i need more complicated sql?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这就是我要做的:
我更喜欢的另一个解决方案是使用作用域:
然后你可以做类似的事情:
或链接:(只要记住当你真正想要运行查询时调用 all )
Here is what I would do:
Another solution that I prefer is to use scopes:
then you can do stuff like:
or chaining: (just rememeber to call all when you actually want to run the query)