2
开始时这似乎很微不足道,但我现在无法正确理解它。这种关系是微不足道的。Rails活动模型 - 仅在has_many关系中具有现有成员的范围对象
class Project < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :project
end
现在我只想获得所有具有一个或多个任务关联的项目。现在要做到这一点没有任何扩展逻辑(最好在一个查询中)。后端在Postgresql上。
编辑:
其实最好的是如果我能得到它具有特定条件的任务项目。像:
task.status > 0
你可以在写这篇文章一个范围(在项目模型中): 范围:with_tasks,:joins =>:tasks,:conditions =>'tasks.project_id = projects.id' 然后你可以使用:@projects = Projects.with_tasks – ipsum 2010-10-23 14:35:59
你是对的,我只是没有注意到标题,并没有把它当作范围来写;)当你打开几个标签并且浏览所有标签时会发生这种情况。我的坏 – 2010-10-23 15:00:25
加入automaticaly添加了给定的条件,所以没有必要添加:像上面那样的条件。这个查询的问题是,它返回任何给定项目的多行。分组实际上解决了这个问题,但Postgress希望我将所有30个字段添加到group by子句中,这是我不太了解的。最重要的是,我搞砸了这个问题。我真正需要的是具体条件的任务(更新问题)。 – mdrozdziel 2010-10-24 15:14:37