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

问题描述 投票:0回答:1

您好,我是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 }

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

forms symfony controller action
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.