0
通過關聯對象價值發現我有兩種型號:Number
和Range
ActiveRecord的:範圍內
# number :integer
class Number < ActiveRecord::Base
has_many :ranges
end
# first_id :integer
# last_id :integer
class Range < ActiveRecord::Base
belongs_to :first, class_name: 'Number'
belongs_to :last, class_name: 'Number'
end
我有我的數據庫中的一些條目:
=> [#Number: id: 1, number: 1]
=> [#Number: id: 2, number: 7]
=> [#Number: id: 3, number: 3]
=> [#Number: id: 4, number: 42]
=> [#Number: id: 5, number: 23]
=> [#Range: id: 1, first_id: 1, last_id: 2]
保存的Range
與第一關聯Number
1
最後Number
7
,但如果我問的=> [#Number: id: 3, number: 3]
的Ranges
應該選擇,以O操作。
我怎樣才能得到一個Number
這不是Range
的first
或last
所有Range
,但該範圍內?
我.joins(:first, :last).where(['numbers.number <= ? ....
試了一下,但沒有成功。
謝謝。 'Range.where( 'first_id <=?AND last_id> =?',數,數字)' 將不會返回任何'Range',因爲它在使用''id'代替number'的'其中()'。 –