diff --git a/src/Resources/views/Generator/AssociationTemplate.html.twig b/src/Resources/views/Generator/AssociationTemplate.html.twig index b7a51c5..a25ed82 100644 --- a/src/Resources/views/Generator/AssociationTemplate.html.twig +++ b/src/Resources/views/Generator/AssociationTemplate.html.twig @@ -1,4 +1,26 @@ + public static function join{{ column }}( + QueryBuilder $qb, + $entityName = self::NAME, + $columnName = '{{ columnDql }}', + $entityDqlTargeted = '{{ entityDqlTargeted }}', + ): QueryBuilder { + $qb->join($entityName.'.'.$columnName, $entityDqlTargeted); + + return $qb; + } + + public static function leftJoin{{ column }}( + QueryBuilder $qb, + $entityName = self::NAME, + $columnName = '{{ columnDql }}', + $entityDqlTargeted = '{{ entityDqlTargeted }}', + ): QueryBuilder { + $qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted); + return $qb; + } + +{% if idType %} public static function filterBy{{ column }}( QueryBuilder $qb, $value, @@ -113,28 +135,6 @@ return $qb; } - public static function join{{ column }}( - QueryBuilder $qb, - $entityName = self::NAME, - $columnName = '{{ columnDql }}', - $entityDqlTargeted = '{{ entityDqlTargeted }}', - ): QueryBuilder { - $qb->join($entityName.'.'.$columnName, $entityDqlTargeted); - - return $qb; - } - - public static function leftJoin{{ column }}( - QueryBuilder $qb, - $entityName = self::NAME, - $columnName = '{{ columnDql }}', - $entityDqlTargeted = '{{ entityDqlTargeted }}', - ): QueryBuilder { - $qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted); - - return $qb; - } - public function findBy{{ column }}( mixed $value, bool $useQueryCache = false, @@ -204,3 +204,4 @@ resultCacheTags: $resultCacheTags, ); } +{% endif %} \ No newline at end of file diff --git a/src/Resources/views/Generator/TopRepositoryTemplate.html.twig b/src/Resources/views/Generator/TopRepositoryTemplate.html.twig index 9cf49a5..a571824 100644 --- a/src/Resources/views/Generator/TopRepositoryTemplate.html.twig +++ b/src/Resources/views/Generator/TopRepositoryTemplate.html.twig @@ -225,6 +225,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %} return $total['total']; } +{% if idType %} public function exists( $entity, @@ -256,6 +257,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %} return $exists; } +{% endif %} public function getDeleteQueryBuilder( ): QueryBuilder { @@ -288,6 +290,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %} return $exists; } +{% if idType %} public function findOne( $id, @@ -323,6 +326,7 @@ class {{ entityClassname }}Base extends {{ extendClass }}{% if useInterfaces %} return $entity; } +{% endif %} public static function filterBy( QueryBuilder $qb, diff --git a/tests/Repository/MyClassRepositoryBase.php b/tests/Repository/MyClassRepositoryBase.php index 0cee23a..342f8c7 100644 --- a/tests/Repository/MyClassRepositoryBase.php +++ b/tests/Repository/MyClassRepositoryBase.php @@ -754,6 +754,27 @@ public function deleteByName( static::getQueryBuilderResult($qb); } + public static function joinForeignClasses( + QueryBuilder $qb, + $entityName = self::NAME, + $columnName = 'foreignClasses', + $entityDqlTargeted = 'foreignClass', + ): QueryBuilder { + $qb->join($entityName.'.'.$columnName, $entityDqlTargeted); + + return $qb; + } + + public static function leftJoinForeignClasses( + QueryBuilder $qb, + $entityName = self::NAME, + $columnName = 'foreignClasses', + $entityDqlTargeted = 'foreignClass', + ): QueryBuilder { + $qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted); + + return $qb; + } public static function filterByForeignClasses( QueryBuilder $qb, @@ -864,28 +885,6 @@ public static function filterNotInForeignClasses( return $qb; } - public static function joinForeignClasses( - QueryBuilder $qb, - $entityName = self::NAME, - $columnName = 'foreignClasses', - $entityDqlTargeted = 'foreignClass', - ): QueryBuilder { - $qb->join($entityName.'.'.$columnName, $entityDqlTargeted); - - return $qb; - } - - public static function leftJoinForeignClasses( - QueryBuilder $qb, - $entityName = self::NAME, - $columnName = 'foreignClasses', - $entityDqlTargeted = 'foreignClass', - ): QueryBuilder { - $qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted); - - return $qb; - } - public function findByForeignClasses( mixed $value, bool $useQueryCache = false, diff --git a/tests/Service/ExpectedMyClassRepositoryBase.txt b/tests/Service/ExpectedMyClassRepositoryBase.txt index 0cee23a..342f8c7 100644 --- a/tests/Service/ExpectedMyClassRepositoryBase.txt +++ b/tests/Service/ExpectedMyClassRepositoryBase.txt @@ -754,6 +754,27 @@ class MyClassRepositoryBase extends \Doctrine\Bundle\DoctrineBundle\Repository\S static::getQueryBuilderResult($qb); } + public static function joinForeignClasses( + QueryBuilder $qb, + $entityName = self::NAME, + $columnName = 'foreignClasses', + $entityDqlTargeted = 'foreignClass', + ): QueryBuilder { + $qb->join($entityName.'.'.$columnName, $entityDqlTargeted); + + return $qb; + } + + public static function leftJoinForeignClasses( + QueryBuilder $qb, + $entityName = self::NAME, + $columnName = 'foreignClasses', + $entityDqlTargeted = 'foreignClass', + ): QueryBuilder { + $qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted); + + return $qb; + } public static function filterByForeignClasses( QueryBuilder $qb, @@ -864,28 +885,6 @@ class MyClassRepositoryBase extends \Doctrine\Bundle\DoctrineBundle\Repository\S return $qb; } - public static function joinForeignClasses( - QueryBuilder $qb, - $entityName = self::NAME, - $columnName = 'foreignClasses', - $entityDqlTargeted = 'foreignClass', - ): QueryBuilder { - $qb->join($entityName.'.'.$columnName, $entityDqlTargeted); - - return $qb; - } - - public static function leftJoinForeignClasses( - QueryBuilder $qb, - $entityName = self::NAME, - $columnName = 'foreignClasses', - $entityDqlTargeted = 'foreignClass', - ): QueryBuilder { - $qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted); - - return $qb; - } - public function findByForeignClasses( mixed $value, bool $useQueryCache = false,