IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

message d'erreur avec l'objet QueryBuilder


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut message d'erreur avec l'objet QueryBuilder
    Bonsoir,

    Je veux utiliser l'objet : QueryBuilder mes il m'indique des messages d'erreur que la méthode 'getQuery' est pas défini ?

    j'ai utiliser ORMQueryBuilder la aucune erreur mes je reçois ce message d'erreur quand j’exécute ma page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unable to find template "pages/home" (looked into: C:\Users\cdevl\code\monProjet/templates, C:\Users\cdevl\code\monProjet\vendor\symfony\twig-bridge/Resources/views/Form).
    Avez vous une idée ?


    PropertyRepository.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    <?php
     
    namespace App\Repository;
     
    use App\Entity\Property;
    use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
    use Doctrine\DBAL\Query\QueryBuilder;
    use Doctrine\ORM\QueryBuilder as ORMQueryBuilder;
    use Doctrine\Persistence\ManagerRegistry;
     
    /**
     * @method Property|null find($id, $lockMode = null, $lockVersion = null)
     * @method Property|null findOneBy(array $criteria, array $orderBy = null)
     * @method Property[]    findAll()
     * @method Property[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
     */
    class PropertyRepository extends ServiceEntityRepository
    {
        public function __construct(ManagerRegistry $registry)
        {
            parent::__construct($registry, Property::class);
        }
     
        /**
         * @return Property[]
         */
        public function findAllVisible(): array
        {
            return $this->findVisibleQuery()
                ->where('p.sold = false')
                ->getQuery()
                ->getResult();
        }
     
        /**
         * @return Property[]
         */
        public function findLatest(): array
        {
            return $this->findVisibleQuery()
            ->where('p.sold = false')
            ->setMaxResults(4)
            ->getQuery()
            ->getResult();
        }
     
        private function findVisibleQuery(): ORMQueryBuilder 
         {
            return $this->createQueryBuilder('p')
            ->where('p.sold = false');
        }    
     
        // /**
        //  * @return Property[] Returns an array of Property objects
        //  */
        /*
        public function findByExampleField($value)
        {
            return $this->createQueryBuilder('p')
                ->andWhere('p.exampleField = :val')
                ->setParameter('val', $value)
                ->orderBy('p.id', 'ASC')
                ->setMaxResults(10)
                ->getQuery()
                ->getResult()
            ;
        }
        */
     
        /*
        public function findOneBySomeField($value): ?Property
        {
            return $this->createQueryBuilder('p')
                ->andWhere('p.exampleField = :val')
                ->setParameter('val', $value)
                ->getQuery()
                ->getOneOrNullResult()
            ;
        }
        */
    }
    HomeController.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?php
    namespace App\Controller;
     
    use App\Repository\PropertyRepository;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\Routing\Annotation\Route;
    use Twig\Environment;
     
    class HomeController extends AbstractController
    {
     
    /**
     * @Route("/", name="home")
     * @param PropertyRepository $repository 
     * @return Response
    */
    public function index(PropertyRepository $repository): Response
    {
        $properties = $repository->findLatest();
        return $this->render('pages/home', [
            'properties' => $properties
        ]);
    }
     
    }

  2. #2
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Bonsoir,

    Vérifie le contenu de ton répertoire templates, si tu écris 'pages/home' , il doit y avoir un fichier 'templates/pages/home' . Le message d'erreur te dit que ce n'est pas le cas.

    L'argument que tu passes dans ton render est bizarre, tu passes 'pages/home'.

    Normalement, tu devrais passer un nom de fichier, quelque chose comme : 'pages/home.html.twig'
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    en effet j'ai oublier d'indiquer le nom complet : 'pages/home.html.twig'

    Merci à vous de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM XML] Désactivation des messages d'erreur de l'objet DOMXML ?
    Par sirbaldur dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/01/2007, 13h37
  2. les messages d'erreurs avec "yacc/bison"
    Par minirop dans le forum C
    Réponses: 6
    Dernier message: 20/12/2006, 18h17
  3. message d'erreur avec le Run Time Access 2003
    Par barbu44 dans le forum Runtime
    Réponses: 3
    Dernier message: 10/12/2006, 14h03
  4. message d'erreur avec borland c++
    Par sally042 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/12/2006, 15h41
  5. Message d'erreur avec Bulk Insert
    Par Shivas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo