我正在尝试开发类似 Rails 的 Airbnb 应用程序,但由于重叠检查系统而被阻止;当我们检查这个地方是否已经被预订时。这里的困难是我需要检查日期是否重叠以及时间。因为在我的项目中,您只有在需要时才能租用几个小时的地方。
架构:
create_table "bookings", force: :cascade do |t|
t.integer "user_id"
t.integer "place_id"
t.datetime "start_time"
t.datetime "end_time"
t.integer "price"
t.integer "total"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["place_id"], name: "index_bookings_on_place_id"
t.index ["user_id"], name: "index_bookings_on_user_id"
end
create_table "places", force: :cascade do |t|
t.integer "user_id"
t.string "name"
t.integer "price"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id"], name: "index_places_on_user_id"
end
您是否有想法以干净的方式实施这种重叠检查?