У меня проблемы при попытке передать параметры из моей формы моему контроллеру.
Я пытаюсь реализовать список вариантов, который позволит отображать список пользователей в зависимости от параметров (роль)., ban ...).
Проблема в том, что я думаю, что я не получаю параметр после отправки, чтобы мой запрос был в индексе.Может ли быть проблема в том, что я повторяю одну и ту же форму в одной и той же функции до и после отправки?
Я попытался добавить теги href / onclick / к своим опциям, но это не сработало.
index.html.twig
<form class="form-group" action="{{ path('user_index') }}">
<table class="table">
<tr>
<td>
<select class="custom-select">
<option selected="">Which users to you want to see ?</option>
<option value="1">All</option>
<option value="2">Students</option>
<option value="3">Teachers</option>
<option value="4">Admins</option>
<option value="5">Super Admin</option>
<option value="6">Banned</option>
<option value="7">Unbanned</option>
</select>
</td>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
UserController.php
/**
* Requires ADMIN_ROLE
*
* @Route("/", name="user_index", methods={"GET"})
*/
public function index(Request $request): Response
{
$this->denyAccessUnlessGranted('ROLE_ADMIN');
$ban = true;
// trying to get the value of the option in form ?
$value = $request->request->get('value');
switch ($value){
case 1 :
$users = $this->getDoctrine()
->getRepository(User::class)
->findAll();
break;
case 6 :
$users = $this->getDoctrine()
->getRepository(User::class)
->findByBan($ban);
break;
case 7 :
$ban = false;
$users = $this->getDoctrine()
->getRepository(User::class)
->findByBan($ban);
break;
default:
$users = $this->getDoctrine()
->getRepository(User::class)
->findAll();
break;
}
return $this->render('user/index.html.twig', [
'title' => 'User Index',
'headtitle' => 'View all the users list',
'users' => $users,
]);
}