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:
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:
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:
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
]);
}
} |