我正在建立一个租用自行车的网站,将自行车用于不同的地方。我选择使用Symfony 4.
在我的数据库(MySql)中,简而言之,有:
表KIND_BIKE(id,name,quantity ...)
表RENTER_PLACE(id,name,地址,数量......)
表BIKE(id,kind_bike_id,renter_place_id ....)
和其他表....
我还有一个表DISPONIBILITIES这个列:id,bike_id,date_begin_rent,date_end_rent,state(1-> temporary_taked,2-confirmed)。
当访客租用自行车时,它会在第一步中选择租金的日期。此时,为租金创建一个ID(id_reservation)。 接下来它可以选择自行车。在访问者将自行车添加到购物车后,表中的行DISPONIBLITIES将使用id_reservation和状态1创建。
如果访客确认其租金,则为该租金创建的DISPONIBILITIES中的所有行都将更新(状态1到州2)。
但我不知道该怎么办行将被插入,访问者不会确认其租金并离开其网络导航器....
我的问题是,如果Symfony能够在行创建之后的15分钟内安排一个请求,该请求将删除状态等于1且具有良好id_reservation的行?
如果可能的话,我将使用symfony的组件做什么?
答案 0 :(得分:0)
您应该只在数据库中保留完整数据。中间预订步骤应该只保存在访问者的会话中。在该过程结束时,您将持久保存在数据库中。我认为你应该创建一个" BookingManager"您在控制器中调用的服务,以便在用户进行时保存在会话中。