Для начала у меня есть этот запрос SQl:
SELECT pc.id, pc.nom_point_comptage, e.id, e.nom_ensemble, p.id, p.nom_parc
FROM points_comptage pc , ensembles e , parcs_immobilier p
WHERE pc.ensembles_id = e.id
AND e.parcs_immobilier_id = p.id
Этот запрос позволяет мне получить points comptage
, которые находятся в ensembles
и принадлежат определенному parc
.
Итак, в моем контроллере Symfony я создал DQL с доктриной. Это код контроллера:
/**
*
* @Route("/gestioncompteurs/pointscomptageByparcs", name="dataTablePointsComptageParc")
* @Method("get")
*/
public function pointsComptageByParcAction($nomParc)
{
$em=$this->getDoctrine()->getManager();
$query = $em->createQuery('SELECT p.nomParc, e.nomEnsemble, pc.invariantPointComptage /*and more like my SQL request...*/
FROM MySpaceMyBundle:ParcsImmobilier p, MySpaceMyBundle:Ensembles e, MySpaceMyBundle:PointsComptage pc
WHERE pc.ensembles = e.id
AND e.parcsImmobilier = p.id');
$pointComptage = $query->getResult();
return $this->render('MySpaceMyBundle:PointsComptage:dataTablePointsComptage.html.twig', array(
'pointComptage' => $pointComptage));
}
Но в моей ветке сначала мне нужно отфильтровать по парку, поэтому я создаю тег выбора, в котором есть все мои парки, например:
<select class="form-control input" id="filterByParc" name="filterByParc">
<option value="" disabled selected>sélectionnez un parc</option>
{% for parcs in parc %}
<option value="{{ path('dataTablePointsComptageParc', {'nomParc': parcs.nomParc}) }}">{{ parcs.nomParc }}</option>
{% endfor %}
</select>
Как видите, значение для выбранных опций в моем теге select — это путь (url) для представления. Потому что мне нужно вернуть в javascript фильтрацию данных по выбранному мной парку (параметр маршрута).
Все работает хорошо, то есть мой контроллер и мой javascript правильно отображают мои данные, но без данных.
В phpMyAdmin мой запрос работает хорошо, но нет с Doctrine в моем контроллере.
Чтобы точно объяснить, что я пытаюсь сделать и что мне нужно:
первый: я выбираю название парка в теге select в своем представлении; во-вторых: мой выбор возвращает мне фильтрацию данных по названию моего парка, который я выбираю, поэтому данные в моей таблице должны принадлежать всем
points comptage
в моемensembles
parc
, который я выбираю первым в выборе ярлык.
Кто-нибудь знает, где возникла моя проблема?