Skip to content

Commit 551d38e

Browse files
No method generation using id if there is no idType
1 parent d3bc30d commit 551d38e

4 files changed

Lines changed: 69 additions & 66 deletions

File tree

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

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
1+
public static function join{{ column }}(
2+
QueryBuilder $qb,
3+
$entityName = self::NAME,
4+
$columnName = '{{ columnDql }}',
5+
$entityDqlTargeted = '{{ entityDqlTargeted }}',
6+
): QueryBuilder {
7+
$qb->join($entityName.'.'.$columnName, $entityDqlTargeted);
8+
9+
return $qb;
10+
}
11+
12+
public static function leftJoin{{ column }}(
13+
QueryBuilder $qb,
14+
$entityName = self::NAME,
15+
$columnName = '{{ columnDql }}',
16+
$entityDqlTargeted = '{{ entityDqlTargeted }}',
17+
): QueryBuilder {
18+
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);
119

20+
return $qb;
21+
}
22+
23+
{% if idType %}
224
public static function filterBy{{ column }}(
325
QueryBuilder $qb,
426
$value,
@@ -113,28 +135,6 @@
113135
return $qb;
114136
}
115137

116-
public static function join{{ column }}(
117-
QueryBuilder $qb,
118-
$entityName = self::NAME,
119-
$columnName = '{{ columnDql }}',
120-
$entityDqlTargeted = '{{ entityDqlTargeted }}',
121-
): QueryBuilder {
122-
$qb->join($entityName.'.'.$columnName, $entityDqlTargeted);
123-
124-
return $qb;
125-
}
126-
127-
public static function leftJoin{{ column }}(
128-
QueryBuilder $qb,
129-
$entityName = self::NAME,
130-
$columnName = '{{ columnDql }}',
131-
$entityDqlTargeted = '{{ entityDqlTargeted }}',
132-
): QueryBuilder {
133-
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);
134-
135-
return $qb;
136-
}
137-
138138
public function findBy{{ column }}(
139139
mixed $value,
140140
bool $useQueryCache = false,
@@ -204,3 +204,4 @@
204204
resultCacheTags: $resultCacheTags,
205205
);
206206
}
207+
{% endif %}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %}
225225
226226
return $total['total'];
227227
}
228+
{% if idType %}
228229
229230
public function exists(
230231
$entity,
@@ -256,6 +257,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %}
256257
257258
return $exists;
258259
}
260+
{% endif %}
259261
260262
public function getDeleteQueryBuilder(
261263
): QueryBuilder {
@@ -288,6 +290,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %}
288290
289291
return $exists;
290292
}
293+
{% if idType %}
291294
292295
public function findOne(
293296
$id,
@@ -323,6 +326,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %}
323326
324327
return $entity;
325328
}
329+
{% endif %}
326330
327331
public static function filterBy(
328332
QueryBuilder $qb,

tests/Repository/MyClassRepositoryBase.php

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,27 @@ public function deleteByName(
754754

755755
static::getQueryBuilderResult($qb);
756756
}
757+
public static function joinForeignClasses(
758+
QueryBuilder $qb,
759+
$entityName = self::NAME,
760+
$columnName = 'foreignClasses',
761+
$entityDqlTargeted = 'foreignClass',
762+
): QueryBuilder {
763+
$qb->join($entityName.'.'.$columnName, $entityDqlTargeted);
764+
765+
return $qb;
766+
}
767+
768+
public static function leftJoinForeignClasses(
769+
QueryBuilder $qb,
770+
$entityName = self::NAME,
771+
$columnName = 'foreignClasses',
772+
$entityDqlTargeted = 'foreignClass',
773+
): QueryBuilder {
774+
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);
775+
776+
return $qb;
777+
}
757778

758779
public static function filterByForeignClasses(
759780
QueryBuilder $qb,
@@ -864,28 +885,6 @@ public static function filterNotInForeignClasses(
864885
return $qb;
865886
}
866887

867-
public static function joinForeignClasses(
868-
QueryBuilder $qb,
869-
$entityName = self::NAME,
870-
$columnName = 'foreignClasses',
871-
$entityDqlTargeted = 'foreignClass',
872-
): QueryBuilder {
873-
$qb->join($entityName.'.'.$columnName, $entityDqlTargeted);
874-
875-
return $qb;
876-
}
877-
878-
public static function leftJoinForeignClasses(
879-
QueryBuilder $qb,
880-
$entityName = self::NAME,
881-
$columnName = 'foreignClasses',
882-
$entityDqlTargeted = 'foreignClass',
883-
): QueryBuilder {
884-
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);
885-
886-
return $qb;
887-
}
888-
889888
public function findByForeignClasses(
890889
mixed $value,
891890
bool $useQueryCache = false,

tests/Service/ExpectedMyClassRepositoryBase.txt

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,27 @@ class MyClassRepositoryBase extends \Doctrine\Bundle\DoctrineBundle\Repository\S
754754

755755
static::getQueryBuilderResult($qb);
756756
}
757+
public static function joinForeignClasses(
758+
QueryBuilder $qb,
759+
$entityName = self::NAME,
760+
$columnName = 'foreignClasses',
761+
$entityDqlTargeted = 'foreignClass',
762+
): QueryBuilder {
763+
$qb->join($entityName.'.'.$columnName, $entityDqlTargeted);
764+
765+
return $qb;
766+
}
767+
768+
public static function leftJoinForeignClasses(
769+
QueryBuilder $qb,
770+
$entityName = self::NAME,
771+
$columnName = 'foreignClasses',
772+
$entityDqlTargeted = 'foreignClass',
773+
): QueryBuilder {
774+
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);
775+
776+
return $qb;
777+
}
757778

758779
public static function filterByForeignClasses(
759780
QueryBuilder $qb,
@@ -864,28 +885,6 @@ class MyClassRepositoryBase extends \Doctrine\Bundle\DoctrineBundle\Repository\S
864885
return $qb;
865886
}
866887

867-
public static function joinForeignClasses(
868-
QueryBuilder $qb,
869-
$entityName = self::NAME,
870-
$columnName = 'foreignClasses',
871-
$entityDqlTargeted = 'foreignClass',
872-
): QueryBuilder {
873-
$qb->join($entityName.'.'.$columnName, $entityDqlTargeted);
874-
875-
return $qb;
876-
}
877-
878-
public static function leftJoinForeignClasses(
879-
QueryBuilder $qb,
880-
$entityName = self::NAME,
881-
$columnName = 'foreignClasses',
882-
$entityDqlTargeted = 'foreignClass',
883-
): QueryBuilder {
884-
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);
885-
886-
return $qb;
887-
}
888-
889888
public function findByForeignClasses(
890889
mixed $value,
891890
bool $useQueryCache = false,

0 commit comments

Comments
 (0)