命名范围不在,如何?
如何在命名范围语法中编写 NOT IN ?例如,User :has_many Photos,我如何定义:
User.has_no_photo
并返回不在 Photo
模型中的所有用户?谢谢!
how can I write a NOT IN in named scope syntax? For example, User :has_many Photos, how can I define:
User.has_no_photo
and returns all users who are not in the Photo
model? thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设您有一个标准的“Photo.belongs_to :user”关联和整数键
I assume you have a standard "Photo.belongs_to :user" association, and integer keys
ActiveRecord 与您在 SQL 中执行的操作没有什么不同:
可能有更有效的方法来执行此操作。一种是将 photos_count 存储在用户行上:然后查询变成简单的 photos_count = 0,而不是复杂的联接:
ActiveRecord isn't different from what you would do in SQL:
There are probably more efficient ways of doing this. One would be to store the photos_count on the user rows: then the query becomes a simple photos_count = 0, instead of a complex join: