从表单提交操作中调用Symfony控制器操作

时间:2019-03-19 00:50:58

标签: forms symfony controller action

您好,我是Symfony 3.4的新手,我想要在html.twig文件中添加一个表单,以便在提交该表单时获取其输入的值并将它们传递给控制器​​类中的一个动作,以便将其插入到数据库,

这是(reserver.html.twig)形式:

<h1>reserver</h1>
<form action="" method ="post">
   <input type="text" name="seat">
   <input type="text" name="type">
   <input type="text" name="quantity">
   <input type="submit">
</form>

我的控制类:

class reservationController extends Controller
{
    public function CreateReservationtAction(String seat ,String type ,String Quantity){      
        //code to insert into database
        return $this->render("pages/reserver.html.twig");
       }
}

这是我的路由文件:

techevent_reservation:
    path:     /res
    defaults: { _controller: techeventBundle:reservation:CreateReservation }

我没有错误,但我想知道语法将如何完成,谢谢:)

1 个答案:

答案 0 :(得分:0)

您的表单操作必须指向您的路由文件中定义的路径:

<form action="{{ path('techevent_reservation') }}" method ="post">

在您的控制器中,您可以使用Request对象来获取表单的所有参数,例如:

public function CreateReservationtAction(Request $request){
     $seat = $request->request->get('seat');
     $type = $request->request->get('type');
     ...    
}

我建议您使用symfony的form component