【问题标题】:Rails: define a method to have advanced data from the dbRails:定义一种方法以获取数据库中的高级数据
【发布时间】:2016-02-21 14:36:59
【问题描述】:

我有一个名为 Category 的模型。我还有一个名为Todo 的模型(在这个模型中有booleancompleted)。

Category has_many :todos
Todo belongs_to :category

我想打印以查看所有类别,对于每个类别,有多少待办事项已完成,多少未完成

我该怎么做?

谢谢!

【问题讨论】:

    标签: mysql ruby-on-rails activerecord


    【解决方案1】:

    你可以使用scope:

    class Category < ActiveRecord::Base
      scope :completed,               -> joins(:todos).where(:todos => { :completed => 1 })
      scope :not_completed,               -> joins(:todos).where(:todos => { :completed => 0 })
    end
    

    预览所有类别时,可以致电category.complitedcategory.not_complited

    【讨论】:

    • 我想显示所有类别:Category1= completed:2; not_completed:1, ecc...。我可以这样做吗?
    • @GiacomoCarrozzo:我已经更新了我的答案,我认为它对你有帮助。
    • 对不起,我不明白如何使用它:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    相关资源
    最近更新 更多