Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Symfony安排请求?_Php_Mysql_Symfony - Fatal编程技术网

Php 如何使用Symfony安排请求?

Php 如何使用Symfony安排请求?,php,mysql,symfony,Php,Mysql,Symfony,我正在为一个出租自行车的人制作一个网站,他们把自行车运到不同的地方。我选择使用Symfony 4 简而言之,在我的数据库(MySql)中,有: 桌上型自行车(id、名称、数量…) 桌位出租人(身份证、姓名、地址、数量……) 一辆桌上自行车(身份证、种类、出租人、地点、身份证……) 和其他桌子 我还有一个包含以下列的disponilibiles表:id、bike\u id、date\u begin\u rent、date\u end\u rent、state(1->temporary\u ta

我正在为一个出租自行车的人制作一个网站,他们把自行车运到不同的地方。我选择使用Symfony 4

简而言之,在我的数据库(MySql)中,有:

  • 桌上型自行车(id、名称、数量…)

  • 桌位出租人(身份证、姓名、地址、数量……)

  • 一辆桌上自行车(身份证、种类、出租人、地点、身份证……)

  • 和其他桌子

我还有一个包含以下列的disponilibiles表:id、bike\u id、date\u begin\u rent、date\u end\u rent、state(1->temporary\u taked、2-confirm)

当游客租用自行车时,首先会选择租赁日期。此时,将为租金创建一个ID(ID_预订)。 下一步,它可以选择自己的自行车。在访问者将自行车添加到其购物车后,将在DISPONIBLITES表中创建一行,其中id_保留和状态为1

如果访问者确认其租金,则将更新为此租金创建的Disposibility中的所有行(状态1到状态2)

但我不知道该怎么做,因为行将被插入,访问者不确认其租金并离开其web导航器

我的问题是Symfony是否能够在创建行之后的15分钟内安排一个请求,该请求将删除状态等于1且具有良好id_保留的行


如果可能的话,我将使用哪个symfony组件来执行此操作?

您应该只在数据库中保存完整的数据。中间预订步骤应简单地保存在访客会话中。在该过程结束时,您将在数据库中持久化。我认为您应该创建一个“BookingManager”服务,您可以在控制器中调用该服务,以便在用户进行会话时保存。

请向我们展示一些代码。因此,它不会像这样工作,也不会带来您所面临的特定问题,这符合此站点的要求。您可以使用
控制台组件
,每分钟执行一次
cron作业
,以检查是否插入了超过15天的未确认预订minutes@JulienBourdic你的awser很有趣!我必须研究一些信息,但谢谢你!如果成功,我不会原谅添加已解决的标记!;)这并不能回答他的问题。为了避免库存问题,他可能不得不在收银通道中将自行车挡在DB中。谢谢你,但你的想法并不能解决我的问题。。。。因为自行车保存的是会话,不在我的数据库中。。。自行车可以由其他访问者租用。另一种解决方案:可以在自行车实体中添加日期时间字段。当用户开始预订过程时,侦听器会用当前日期更新预订过程。如果datetime字段早于您定义的计时,则可以预订自行车。