Skip to content

Commit

Permalink
Generate leftJoin by queryBuilder
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasbeaujean committed Sep 22, 2024
1 parent a34c7ca commit 170c9b0
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/Resources/views/Generator/AssociationTemplate.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,13 @@
return $qb;
}

public static function leftJoin{{ column }}(QueryBuilder $qb, $entityName = '{{ entityDql }}', $columnName = '{{ columnDql }}', $entityDqlTargeted = '{{ entityDqlTargeted }}'): QueryBuilder
{
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);

return $qb;
}

public function findBy{{ column }}(mixed $value): array
{
$qb = $this->getNewQueryBuilder();
Expand Down
7 changes: 7 additions & 0 deletions tests/Repository/MyClassRepositoryBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,13 @@ public static function joinForeignClasses(QueryBuilder $qb, $entityName = 'myCla
return $qb;
}

public static function leftJoinForeignClasses(QueryBuilder $qb, $entityName = 'myClass', $columnName = 'foreignClasses', $entityDqlTargeted = 'foreignClass'): QueryBuilder
{
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);

return $qb;
}

public function findByForeignClasses(mixed $value): array
{
$qb = $this->getNewQueryBuilder();
Expand Down
7 changes: 7 additions & 0 deletions tests/Service/ExpectedMyClassRepositoryBase.txt
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,13 @@ class MyClassRepositoryBase extends \Doctrine\Bundle\DoctrineBundle\Repository\S
return $qb;
}

public static function leftJoinForeignClasses(QueryBuilder $qb, $entityName = 'myClass', $columnName = 'foreignClasses', $entityDqlTargeted = 'foreignClass'): QueryBuilder
{
$qb->leftJoin($entityName.'.'.$columnName, $entityDqlTargeted);

return $qb;
}

public function findByForeignClasses(mixed $value): array
{
$qb = $this->getNewQueryBuilder();
Expand Down
1 change: 1 addition & 0 deletions tests/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
doctrine:
dbal:
driver: pdo_pgsql
server_version: "15"
orm:
auto_generate_proxy_classes: true
auto_mapping: true
Expand Down

0 comments on commit 170c9b0

Please sign in to comment.