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.
Avez vous une idée ?
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).
PropertyRepository.php :
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
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() ; } */ }
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 ]); } }
Partager