collection-crud/src/Repository/BrandRepository.php

29 lines
697 B
PHP

<?php declare(strict_types=1);
namespace App\Repository;
use App\Entity\Brand;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\ORM\Query;
use Doctrine\Persistence\ManagerRegistry;
class BrandRepository extends ServiceEntityRepository {
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, Brand::class);
}
public function filterByCategory(string $category): Query
{
$em = $this->getEntityManager();
$query = $em->createQuery("
SELECT b FROM App\Entity\Brand b
INNER JOIN b.categories c WHERE c.name = ?1
ORDER BY b.name ASC
");
$query->setParameter(1, $category);
return $query->execute();
}
}