1
왼쪽에있는 페이지의 그림입니다. 제출할 때 양식이 있습니다. 사용자가 입력하지 않은 경우 사용자가 입력 한 정보를 사용하여 오른쪽에서 발견 된 차량을 표시하고 싶습니다. 폼에 가격이이 경우 필요에 내 양식 0symfony2 검색 양식 매개 변수가있는 querybuilder
없는 경우에는 페이지는 사용자 만의 차를보고해야 두 경우 모두 .IN 모든 자동차를 보여줍니다하지만 난 더 여기에 문제 VoitureType3.php이 없습니다 :
$builder
->add('marque', EntityType::class,array(
'class' => 'SpoiledCarFrontOfficeBundle:Marque',
'required' => true,
'empty_value' => '== Choisissez une Marque ==',
))
->add('modele', DependentFormsType::class,array(
'entity_alias' => 'modele_by_marque',
'parent_field' => 'marque',
'empty_value' => '== Choisissez un Modele =='
))
->add('chevaux', 'choice', array('choices' => array('4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', '11' => '11', '12' => '12', '13' => '13', '14' => '14', '15' => '15', '16' => '16'),'expanded' => false, 'required' => true,
'multiple' => false, 'label' => 'Nombre de Chevaux'))
->add('boitevitesse', 'choice', array('choices' => array('Automatique' => 'Automatique', 'Manuelle' => 'Manuelle', 'Sequentielle' => 'Sequentielle'),'expanded' => false, 'required' => true,
'multiple' => false, 'label' => 'Boite de Vitesse'))
$filterForm = $this->createForm('SpoiledCar\FrontOfficeBundle\Form\VoitureType3');
$em = $this->getDoctrine()->getManager();
$voiturefind = $em->getRepository('SpoiledCarFrontOfficeBundle:Voiture')->myFindAll($filterForm);
$voitures = $this->get('knp_paginator')->paginate($voiturefind,$this->get('request')->query->get('page', 1),6);
// Bind values from the request
$filterForm->handleRequest($request);
if ($filterForm->isSubmitted() && $filterForm->isValid()) {
return $this->render('FOSUserBundle:Profile:listTable.html.twig', array(
'voitures' => $voitures,
));
}
return $this->render('FOSUserBundle:Profile:listTable.html.twig', array(
'voitures' => $voitures,
'filterForm' => $filterForm->createView(),
));
난이 오류 받고 있어요 :여기 내 컨트롤러의
Attempted to call an undefined method named "andWhere" of class "Doctrine\ORM\Query".
를이 내가 문제가 여기에서 오는 생각 내 querybuilder입니다하지만 난 내가 잘못 알고하지 않습니다 정확히
public function myFindAll(FormInterface $filterForm)
{
$qb = $this->createQueryBuilder('p')
->Where('p.prix IS NOT NULL')
->getQuery();
if ($filterForm->has('marque')) {
$qb->andWhere($qb->expr()->like('u.marque', ':marque'))
->setParameter('marque', '%'. $filterForm->get('marque')->getData().'%');
}
if ($filterForm->has('modele')) {
$qb->andWhere($qb->expr()->like('u.modele', ':modele'))
->setParameter('modele', '%'. $filterForm->get('modele')->getData().'%');
}
if ($filterForm->has('boitevitesse')) {
$qb->andWhere($qb->expr()->like('u.boitevitesse', ':boitevitesse'))
->setParameter('boitevitesse', '%'. $filterForm->get('boitevitesse')- >getData().'%');
}
if ($filterForm->has('chevaux')) {
$qb->andWhere($qb->expr()->like('u.chevaux', ':chevaux'))
->setParameter('chevaux', '%'. $filterForm->get('chevaux')->getData().'%');
}
return $qb->getResult();
}
내가 다른 오류 PS 받고 있어요 괜찮 : 보복과 modele가 다른 테이블은 테이블 voiture [의미 론적 오류] 라인 0, COL에 외래 키에 의해 연결된다 (91) 근처의 '보복 LIKE : marque ': 오류 : PathExpression이 잘못되었습니다. StateFieldPathExpression이어야합니다. – user3010971
'like ('u.marque', ': marque')'<- 왜'u'입니까? 어디서 찾았 니? – scoolnico
나는 내가 p를 변경했다는 것을 잊었지만 nom는 marque를 제거하고 작동시킬 때 그 오류를 얻는다 !! – user3010971