0
假設我有一個產品型號爲id
和sort_number
。如何通過命令獲得下一個記錄「彎曲」?
id | sort_number (random)
1 | 325
2 | 161
3 | 58
...
147 | 500 # the biggest sort_number number is equal to the Product.count result
...
500 | 5
我想next(n = 20)
和previous(n = 20)
方法的產品實例。 IE如果我:
product = Product.find(43)
product.sort_number # => 490
product.next(20) # should return products with sort_number equal to (491..500) + (1..10)
我該如何實現此功能?如果下一個沒有更多記錄,我怎樣才能得到sort_number從1開始的下一條記錄?
'Product.where'sort_number>? AND sort_number <?',product.sort_number,product.sort_number + 20' – mudasobwa
如果'sort_number'等於100,會怎麼樣?我需要用'101-120'獲得記錄sort_number – asiniy
你會得到它們。對於'(490..500)'和'(1..10)',你需要另一個基於返回計數的查詢。我不知道1查詢方法來實現(實際上,我是,但SQL查詢將是不可讀的。) – mudasobwa