关于迁移的意见和在Rails 4上使用2个表

时间:2013-07-25 15:23:16

标签: jquery ruby-on-rails-4

我正在尝试建立预订系统。到目前为止,我做了预订表,并使用此模型检查可用性:

class Reservations < ActiveRecord::Base
# User_id 
# Room_id
# Start_date
# End_date
# Day (integer)
# isCanceled (false automatically)

belongs_to :user, :class_name => "Users", :foreign_key => "user_id"
belongs_to :room, :class_name => "Rooms", :foreign_key => "room_id"
end

现在我想添加一个&#34;音乐课程&#34;用于获取和添加每天重复的课程的表。这是我的模特:

class Roomschedule < ActiveRecord::Base
# Name
# Start_date
# End_date
# Room_id 
# Day (integer)

belongs_to :room, :class_name => "Rooms", :foreign_key => "room_id"
end

在我的预约控制器中,我使用此SQL查询显示所有程序:

@all = Reservations.where("start_date > ?", Time.now.beginning_of_day).order("start_date ASC")

但我想将预订表与Roomschedule表合并,以便检查并显示当前正在进行的课程。

你有什么建议吗?

由于

1 个答案:

答案 0 :(得分:1)

听起来你想要一个内部联接:

@current_courses = Reservations.joins(:roomschedule).where("end_date < Time.now && start_date > Time.now").order("start_date ASC")

更新:

day_index = Date.today.strftime("%u") # or %w depending on your index
@todays_courses = Reservations.joins(:roomschedule).where(day: day_index).order("start_date ASC")