Bonjour,
Après avoir mise en place un formulaire de recherche, je n'ai aucune données comme resultat de recherche malgré que j'ai des données dans ma table. aussi les données que j'entre sont bien renseignées.
Aucune erreur ne s'affiche aussi.
####Indexcontroller.php#####
public function voyage(request $request, RsVoyageRepository $RsVoyageRepository)
{
$results="";
$count=$request->query->count()>0;
if($count)
{
$choix =$request->query->get('radio');
$number =$request->query->get('number');
$villedepart =$request->query->get('Villedepart');
$Villearrivee =$request->query->get('Villearrivee');
$datedepart1 =$request->query->get('datedepart');
$datedepart = date('Y-m-d H:i:s', strtotime($datedepart1));
// var_dump($datedepart);exit();
if($choix=="Allerretour"){
$dateretour1 = $request->query->get('dateretour');
$dateretour = date('Y-m-d H:i:s', strtotime($dateretour1));
$results = $this->getDoctrine()->getManager()->getRepository('App:RsVoyage')->findAlleretour($villedepart,$Villearrivee,$datedepart,$dateretour);
}
else{
// var_dump($datedepart.'|'.$villedepart.'|'.$Villearrivee);exit();
$results = $this->getDoctrine()->getManager()->getRepository('App:RsVoyage')->findAllersimple($villedepart,$Villearrivee,$datedepart);
}
}
var_dump($results->id);exit();
return $this->render('index/voyage.html.twig',[
'Voyages' => $results
]);
}
####RsVoyageRepository.php###
<?php
namespace App\Repository;
use App\Entity\RsVoyage;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method RsVoyage|null find($id, $lockMode = null, $lockVersion = null)
* @method RsVoyage|null findOneBy(array $criteria, array $orderBy = null)
* @method RsVoyage[] findAll()
* @method RsVoyage[] findAlleretour($Villedepart,$Villearrivee,$datedepart,$dateretour)
* @method RsVoyage[] findAllersimple($Villedepart,$Villearrivee,$datedepart)
* @method RsVoyage[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class RsVoyageRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, RsVoyage::class);
}
/**
* @return RsVoyage[] Returns an array of RsVoyage objects
*/
public function findAlleretour($villedepart,$Villearrivee,$datedepart,$dateretour)
{
return $this
->createQueryBuilder('r')
->andWhere('r.villedepart = :val')
->setParameter('val', $villedepart)
->andWhere('r.villearrivee = :val')
->setParameter('val', $Villearrivee)
->andWhere('r.date > ?1')
->andWhere('r.date < ?2')
->setParameter(1, $datedepart)
->setParameter(2, $dateretour)
->getQuery()
->getResult()
;
}
public function findAllersimple($villedepart,$Villearrivee,$datedepart)
{
return $this
->createQueryBuilder('r')
->andWhere('r.villedepart = :val')
->setParameter('val', $villedepart)
->andWhere('r.villearrivee = :val')
->setParameter('val', $Villearrivee)
->andWhere('r.date = :val')
->setParameter('val', $datedepart)
->getQuery()
->getResult()
;
}
}
Je souhaite avoir des données , mais je n'obtiens rien et je n'ai pas d'erreur de code.
svp aidez moi à me dire les parties mal codées
j'obtiens rien comme données
J'ai trouvé une solution à mon problème, il fallait juste faire ceci :
public function findAlleretour( $villedepart, $Villearrivee, $datedepart, $dateretour)
{
$ss= $this
->createQueryBuilder('r')
->andWhere('r.villedepart = :villedepart')
->setParameter('villedepart', $villedepart)
->andWhere('r.villearrivee = :villearrivee')
->setParameter('villearrivee', $Villearrivee)
->andWhere('r.date > ?1')
->andWhere('r.date < ?2')
->setParameter(1, $datedepart)
->setParameter(2, $dateretour)
->getQuery()
->getResult()
;
}
public function findAllersimple( $villedepart, $Villearrivee, $datedepart)
{
// var_dump($villedepart."|".$Villearrivee."|".$datedepart);exit();
return $this
->createQueryBuilder('r')
->andWhere('r.villedepart = :villedepart')
->setParameter('villedepart', $villedepart)
->andWhere('r.villearrivee = :villearrivee')
->setParameter('villearrivee', $Villearrivee)
->andWhere('r.date = :val')
->setParameter('val', $datedepart)
->getQuery()
->getResult()
;
}
je devrais mettre ca
->andWhere('r.villedepart = :villedepart')
->setParameter('villedepart', $villedepart)
->andWhere('r.villearrivee = :villearrivee')
->setParameter('villearrivee', $Villearrivee)
au lieu de
->andWhere('r.villedepart = :var')
->setParameter('var', $villedepart)
->andWhere('r.villearrivee = :var')
->setParameter('var', $Villearrivee)
s'il vous plait aidez moi à trouver l'erreur dans mon code, car ca me fait des jours que je cherche desesperement la cause du non retourde resultat de mon code.
Mes fonctions findAllersimple($villedepart,$Villearrivee,$datedepart) et findAlleretour($villedepart,$Villearrivee,$datedepart,$dateretour) dans repository ne retournent aucun resultat, pourtant je n'ai pas d'erreur de code et les données que je cherche dans ma base de données sont correctent.