Skip to content

Commit 0a31845

Browse files
committed
Gris with custom repository method
1 parent 5572e2b commit 0a31845

3 files changed

Lines changed: 44 additions & 1 deletion

File tree

src/Bundle/test/src/Repository/BookRepository.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
use App\Entity\Book;
1717
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
18+
use Doctrine\ORM\QueryBuilder;
1819
use Doctrine\Persistence\ManagerRegistry;
1920
use Sylius\Bundle\ResourceBundle\Doctrine\ORM\ResourceRepositoryTrait;
2021

@@ -26,4 +27,12 @@ public function __construct(ManagerRegistry $registry)
2627
{
2728
parent::__construct($registry, Book::class);
2829
}
30+
31+
public function createListQueryBuilder(): QueryBuilder
32+
{
33+
$queryBuilder = $this->createQueryBuilder('o');
34+
$queryBuilder->andWhere($queryBuilder->expr()->isNotNull('o.archivedAt'));
35+
36+
return $queryBuilder;
37+
}
2938
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Sylius package.
5+
*
6+
* (c) Paweł Jędrzejewski
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
declare(strict_types=1);
13+
14+
namespace App\Repository;
15+
16+
use App\Subscription\Entity\Subscription;
17+
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
18+
use Doctrine\Persistence\ManagerRegistry;
19+
use Sylius\Bundle\ResourceBundle\Doctrine\ORM\ResourceRepositoryTrait;
20+
use Sylius\Component\Resource\Repository\RepositoryInterface;
21+
22+
final class SubscriptionRepository extends ServiceEntityRepository implements RepositoryInterface
23+
{
24+
use ResourceRepositoryTrait;
25+
26+
public function __construct(ManagerRegistry $registry)
27+
{
28+
parent::__construct($registry, Subscription::class);
29+
}
30+
}

src/Bundle/test/src/Subscription/Entity/Subscription.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace App\Subscription\Entity;
1515

16+
use App\Repository\SubscriptionRepository;
1617
use Doctrine\ORM\Mapping as ORM;
1718
use Sylius\Component\Resource\Metadata\Create;
1819
use Sylius\Component\Resource\Metadata\Delete;
@@ -35,9 +36,12 @@
3536
#[Update]
3637
#[Delete]
3738
#[Show(template: 'subscription/show.html.twig')]
38-
#[ORM\Entity]
39+
#[ORM\Entity(repositoryClass: SubscriptionRepository::class)]
3940
class Subscription implements ResourceInterface
4041
{
42+
#[ORM\Column(nullable: true)]
43+
public ?\DateTimeImmutable $archivedAt = null;
44+
4145
public function __construct(
4246
#[ORM\Id]
4347
#[ORM\Column(type: 'uuid', unique: true)]

0 commit comments

Comments
 (0)