Skip to content

Commit 73d07be

Browse files
Add QueryBuilderGeneratedInterface
1 parent 93edbe0 commit 73d07be

2 files changed

Lines changed: 43 additions & 1 deletion

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace Tbn\QueryBuilderRepositoryGeneratorBundle\Interface;
4+
5+
use Doctrine\ORM\QueryBuilder;
6+
7+
interface QueryBuilderGeneratedInterface
8+
{
9+
public function findOne(
10+
mixed $id,
11+
bool $useQueryCache = false,
12+
?string $cacheId = null,
13+
array $resultCacheTags = [],
14+
): object;
15+
16+
public static function filterIn(
17+
QueryBuilder $qb,
18+
string $columnName,
19+
string $operator,
20+
array $values,
21+
?string $entityName = null,
22+
): QueryBuilder;
23+
24+
public static function filterBy(
25+
QueryBuilder $qb,
26+
string $columnName,
27+
string $operator,
28+
mixed $value,
29+
?string $entityName = null,
30+
): QueryBuilder;
31+
32+
public function getNewQueryBuilder(): QueryBuilder;
33+
34+
public function getQueryBuilderCount(
35+
QueryBuilder $qb,
36+
string $entityName,
37+
bool $useQueryCache = false,
38+
?string $cacheId = null,
39+
array $resultCacheTags = [],
40+
): int;
41+
}

src/Resources/views/Generator/TopRepositoryTemplate.html.twig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ use Symfony\Contracts\Cache\ItemInterface;
1818
{% if useInterfaces %}
1919
use Tbn\QueryBuilderRepositoryGeneratorBundle\Interface\FilterByInterface;
2020
use Tbn\QueryBuilderRepositoryGeneratorBundle\Interface\FilterInInterface;
21+
use Tbn\QueryBuilderRepositoryGeneratorBundle\Interface\QueryBuilderGeneratedInterface;
2122
{% endif %}
2223
2324
/**
2425
* Generated class for filter query builders
2526
*
2627
*/
27-
class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %} implements FilterByInterface, FilterInInterface{% endif %}
28+
class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %} implements FilterByInterface, FilterInInterface, QueryBuilderGeneratedInterface{% endif %}
2829
{
2930
const NAME = '{{ entityDql }}';
3031
protected static $parameterIndex = 0;

0 commit comments

Comments
 (0)