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.

Ce que je fais

####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()
        ;

    }
}

Ce que je veux

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

Ce que j'obtiens

j'obtiens rien comme données

2 réponses


AL-ALI
Auteur
Réponse acceptée

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)
AL-ALI
Auteur

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.