0

私はこの状況を持っています:

Stories has many Tasks
Tasks have an integer called hours_left

すべてのタスクが 0 時間以上残っているストーリーを見つけるには、名前付きスコープが必要です。

この投稿に基づいています。私はこれを書きました:

class Story
  has_many :tasks
  named_scope :uncompleted, { 
    :joins=>["INNER JOIN tasks ON tasks.story_id = stories.id"],
    :group=> 'stories.id',
    :select=>'stories.*, SUM(tasks.hours_left) AS sum_amount',
    :having=>"sum_amount > 0"
  }
end

しかしStory.uncompleted、空の配列を返します。

手伝って頂けますか?

4

1 に答える 1

0

解決しました。そのコードは実際に機能しますが、問題は、タスクのいずれかがhours_left = nilである場合、合計の結果としてnilを返すことです。hours_left の存在を検証しました。それだけです。

于 2009-09-29T09:22:29.923 に答える