我不是如何從Rails中不同的模型中查詢模型的數據完全清楚內的一個模型。這些模型具有has_many & belongs_to關係。這兩款車型分別是「Gear」和「line_item」。 齒輪的has_many line_items和的LineItem belongs_to的齒輪。導軌 - 查詢從一個不同的模型用的has_many和belongs_to的關係
我想要做的是查詢數據庫中屬於具有NULL或空白cart_id(這是其中一個字段)的Gear對象的所有line_items,然後計算它的可用性。因爲在這種情況下,齒輪是在特定日期和時間存儲在一個LINE_ITEM(日期,結束日期,START_HOUR,END_HOUR)..將不會在Ruby中我GOOGLE做了很多先進的quering周圍租出去了,現在我不知道我應該如何使用
可枚舉的齒輪式模型是這樣的:
line_items.inject(0) {|line_item| line_item.where('line_items.cart_id' => NULL }
或者,如果我可以用這樣的齒輪模型一個範圍:
scope :availablegear, lambda { includes(:line_items).where('line_items.cart_id' => nil) }
我知道兩者的語法可能都不正確,所以我可以對使用方法和使用方法進行一些指導。
謝謝。
我的項目是使用Rails 3.2.0,1.9.4紅寶石MySQL的&
編輯與建議現在答案
class Gear < ActiveRecord::Base
attr_accessible :title, :size, :price, :sub_category_id, :user_id, :image, :image_a, :image_b, :image_c, :image_d, :image_e, :image_f, :image_g, :image_h, :image_i, :remote_image_url, :color, :year, :latefee, :cancellation, :minrental, :policy, :about, :address, :city, :state, :zip, :country, :latitude, :longitude, :gmaps
...some code omitted for brevity
has_many :line_items
scope :availablegear, joins(:line_items).where(:line_items => {:cart_id => nil})
...some code omitted for brevity
end
,當我啓動了Rails的控制檯,我做AG = Gear.find( 4),然後就g.availablegear我收到以下錯誤:NoMethodError:未定義的方法`availablegear」爲#
你想回來的結果是什麼?齒輪或訂單項? – 2013-03-01 14:13:02
我試圖讓訂單項返回 – DaveG 2013-03-01 17:35:37