forms - 从表单提交动作调用 Symfony 控制器动作
问题描述
你好,我是 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 }
我没有错误,但我想知道如何完成它的语法,谢谢:)
解决方案
您的表单操作必须指向路由文件中定义的路径:
<form action="{{ path('techevent_reservation') }}" method ="post">
在您的控制器中,您可以使用该Request
对象来获取表单的所有参数,例如:
public function CreateReservationtAction(Request $request){
$seat = $request->request->get('seat');
$type = $request->request->get('type');
...
}
我推荐你使用 symfony 的表单组件。
推荐阅读
- sql - 我需要检查每一行是否包含指定的值
- c# - 将 JSON 反序列化为 C# 对象
- javafx - 拖动对象时是否可以在指针旁边显示带有文本的图像?
- angular - 更改绑定到 ng-model 的值不会更改输入文本上的值
- android-emulator - 如何访问 android avd 设备内部存储
- java - 我在休眠工具中找不到 postgresql 表
- javascript - 通过 JS 更改 CSS 仅影响第一个数组项
- c++ - std::next 是向量 O(n) 还是 O(1)?
- unit-testing - 如何使用 JUnit 在 android 中对 Firestore 进行单元测试?
- java - 检索照片时相机崩溃