#forms #symfony #controller #action
#формы #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>
мой класс conroller :
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. проверьте это symfony.com/doc/3.3/forms.html
2. нет, это для работы с symfony formbuilder, здесь у меня уже есть HTML-форма
Ответ №1:
Ваше действие формы должно указывать на путь, определенный в вашем файле маршрутизации:
<form action="{{ path('techevent_reservation') }}" method ="post">
В вашем контроллере вы можете использовать Request
объект для получения всех параметров вашей формы, например:
public function CreateReservationtAction(Request $request){
$seat = $request->request->get('seat');
$type = $request->request->get('type');
...
}
Я рекомендую вам использовать компонент формы symfony.