首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Squeel指定此查询?

如何使用Squeel指定此查询?
EN

Stack Overflow用户
提问于 2011-07-15 16:32:33
回答 1查看 2.4K关注 0票数 1

假设我有一个模型:

代码语言:javascript
复制
class Question < ActiveRecord::Base   
   attr_accessible :title  # it has title attribute   
   has_many :pictures 
end

我想要定义一个名为scopecompleted查询:

返回以下所有问题:

  • 标题不为空或
  • 至少有1张图片

我怎么能这么做?

到目前为止,我已经:

代码语言:javascript
复制
class Question < ActiveRecord::Base   
   attr_accessible :title  # it has title attribute   
   has_many :pictures 

   scope :completed, where{title != ""}  # returns all questions with non-empty title
end

如果我能说:

代码语言:javascript
复制
class Question < ActiveRecord::Base   
   attr_accessible :title  # it has title attribute   
   has_many :pictures 

   scope :completed, where{title != "" || pictures.count > 0}
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-19 13:22:00

你当然可以用吱吱声来做这件事!只需这样写你的范围:

代码语言:javascript
复制
scope :completed, joins{pictures.outer}.where{(title != "") | (pictures.id != nil)}.group{id}

希望我帮了你。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6710247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档