2015-01-11 95 views
0

我有一個培訓師模型和一個trainer_availabilities模型,它存儲培訓師的開始和結束時間。 trainer_availabilities屬於培訓者。導軌可用性查詢

我要查詢的trainer_availabilties模型,並返回可用的所有培訓人員在一定的開始和結束時間(我使用時間戳與時區)。我將以開始和結束時間作爲參數發送。

查詢此結構而不必加載整個trainer_availabilties表的最佳實踐方法是什麼?是否還有另一種最佳實踐方法,包括一些自引用來削減資源?可用表格將隨着時間顯然增長並變得相當大。

回答

1

我結束了使用下面的代碼。歡迎提出改進建議。我包括從客戶端發送信息的解析。

#parse dates 
@start_time = DateTime.parse(params[:start_time]) 
@end_time = DateTime.parse(params[:end_time]) 

#convert to string 
@start_time = @start_time.to_s 
@end_time = @end_time.to_s 


@trainer_avails = TrainerAvailability.where('start_time <= ? AND start_time < ? AND end_time >= ? AND end_time > ?', @start_time, @end_time, @end_time, @start_time)