, поэтому у меня есть список пользователей, которые уже загружены в раскрывающемся списке, и я хочу загрузить свой второй SQL-запрос, для которого требуется идентификатор пользователя для загрузки. поэтому после выбора пользователя я не могу выполнить свой второй запрос. по-видимому, все кажется мне хорошим
это то, что у меня есть в моем файле ветки
<select style="color: orangered;" id="visiteurSelectionne" class="zone">
<option disabled selected value="0">Selectionnez un
visiteur</option>
{% for user in users %}
<option value={{ user.id }}>{{ user.username }}</option>
{% endfor %}
</select>
<label class="titre">Mois :</label>
<select style="color: orangered;" id="selectMoisDispo" class="zone">
<option disabled selected value="0" class="date">Selectionnez une date</option>
</select>
это моя функция Js
$(document).ready(function () {
$('#ficheInfos').hide();
$('#visiteurSelectionne').on('change', function () {
$.ajax({
url: './valide',
type: 'POST',
dataType: 'json',
data: { 'id=' : + this.value },
success: function (data) {
$('#ficheInfos').show();
$('#date').text(data.mois);
}
});
});
});
и это моя функция в контроллере
/**
* @param Request $request
* @return mixed
* @Route("/valide")
* @Method({"POST"})
*/
public function ajaxAction(Request $request): Response
{
if (!$request->isXmlHttpRequest()) {
return new JsonResponse(array('message' => 'You can access to this
url with ajax only'), 400);
}
$em = $this->getDoctrine()->getManager();
$id = $request->request->get('id');
$moisAnne = $em->getRepository("AppBundle:FicheFrais")->getMoisDispo($id);
$response = new Response(json_encode(array(
'mois' => $moisAnne
)));
$response->headers->set('Content-Type', 'application/json');
/* la r�ponse doit �tre encod�e en JSON ou XML, on choisira le JSON
* la doc de Symfony est bien faite si vous devez renvoyer un objet *
*/
new Response(json_encode($response));
return $response;
}
и это моя функция SQL
public function getMoisDispo($idUser)
{
$sqlReq = "SELECT DISTINCT moisAnne FROM fiche_frais WHERE idUtilisateur =' .$idUser. '";
$db= $this->getEntityManager()->getConnection()->prepare($sqlReq);
$db->execute([]);
return $db->fetchAll();
}
результат, который я жду - это загрузить все даты, которые должны быть загружены во второй список по идентификатору пользователя