我需要在rails中執行左外連接,但我需要模型對象用於連接表。使用軌中連接表的模型進行左外連接
我想要的是一天的列表,以及每天的指標。無論是否存在指標,我都需要有所有日子,但我不想做一堆往返數據庫的行程。
這工作,但會導致因爲它認爲我有PeriodDay對象時,我真的想公制對象問題:
PeriodDay.select("metrics.*").join('LEFT OUTER JOIN metrics ON period_days.date = metrics.date').where('period_id = ?', current_period)
我可以度量對象使用的find_by_sql,但查詢的建築是比較複雜的(和條件)比這個簡單的例子,所以我寧願找出這個問題的「軌道方式」。
根據定義,像這樣的左外連接可能導致不存在的度量對象,因此使用帶空ID的度量對象是沒有意義的。您需要獲取PeriodDay對象作爲結果。 – 2011-02-10 20:20:48
@潘Thomakos是的,可能是空IDS,但我不需要引用ID(沒有更新等)。如果我有PeriodDay對象,那麼所有的Metric字段都被視爲字符串,這是一個巨大的PITA。 – 2011-02-10 20:32:14