Я наконец работаю над проектом в Symfony 3, и это действительно очень интересно.
Я работаю над формой поиска публикаций по нескольким критериям (у меня есть 3 поля для ввода текста: дата, категория и тег).
Таким образом, я обрабатываю публикацию, состоящую из даты, связанной с категорией отношением oneToMany [Публикация является владельцем сущности, каждая публикация относится к одной категории] и имеющим несколько тегов [существует связь ManyToMany с сущностью Tag. Наконец, мне удалось создать форму и найти публикацию по категориям, но я хочу выполнить поиск по дате, категории и тегу. Я обнаружил ошибку, которая может быть решена.
Запрос репозитория:
public function findEnglishByTags($date, $categorie, $tag) {
$qb = $this->createQueryBuilder('english');
$qb->Where('english.date = :date')
->andWhere('english.Categorie = :categorie')
->leftjoin('english.tags', 't')
->where('english.tags = :t.id')
->setParameters(array('date' => $date, 'categorie' => $categorie, 'tags' => $tag))
;
return $qb->getQuery()->getResult();
}
моя функция контроллера:
public function searchAction() {
$form = $this->createForm('MDWEB\FrontBundle\Form\InEnglishFrontType');
$form->handleRequest($request);
$date = $form->get('date')->getData();
$categorie = $form->get('categorie')->getData();
$tag = $form->get('tags')->getData();
$em = $this->getDoctrine()->getManager();
$listEnglishs = $em->getRepository('MDWEBInEnglishBundle:InEnglish')->findEnglishBytags(new \DateTime($date->format('Y-m-d')), $categorie, $tag);
var_dump($listEnglishs);
return $this->render('MDWEBFrontBundle:InEnglish:list.html.twig', array(
'form' => $form->createView(),
'listEnglishs' => $listEnglishs
));
}
Это ошибка, с которой я столкнулся:
введите описание изображения здесь