[英]Rails 4 active record query
我有2个模型,Project和TodoItem。 请参见下面的表格结构和型号。
我想做的是查询所有todo_items ,其中ssigned = current_user.fullname和completed_at为nil grouped_by 项目名称,而Ordered_by 项目名称 为nil 。
然后,我想循环出类似以下内容:
项目1名称
项目2名称
表结构:
create_table "projects", force: :cascade do |t|
t.string "name"
t.text "details"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "todo_items", force: :cascade do |t|
t.string "content"
t.string "assigned"
t.integer "project_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.datetime "completed_at"
end
楷模:
class Project < ActiveRecord::Base
has_many :todo_items, :dependent => :destroy
validates_presence_of :name
end
class TodoItem < ActiveRecord::Base
belongs_to :project
end
先感谢您。
为您提供完整的解决方案
你可以试试这个
@projects = Project.includes(:todo_items).where(todo_items: {assigned: current_user.fullname, completed_at: nil }).group("projects.name").order("projects.name")
你快到了。
您只需要添加.where
:
@projects = Project.includes(:todo_items).where(completed_at: nil)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.