[Symfony 5.4 doctrine] Jointure esxterne en DQL
Bonjour,
J'ai une relation unidirectionnelle entre des les Entities Employe et Projet (1 employe travaille sur un projet, sur un projet travaillent oàn employés)
Code:
1 2 3 4 5 6 7 8 9 10
|
class Projet
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 100)]
private ?string $nom = null; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#[ORM\Entity(repositoryClass: EmployeRepository::class)]
class Employe
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 70)]
private ?string $nom = null;
#[ORM\Column(length: 70)]
private ?string $prenom = null;
#[ORM\Column(type: Types::DECIMAL, precision: 9, scale: 2)]
private ?string $salaire = null;
#[ORM\Column(length: 70)]
private ?string $ville = null;
#[ORM\ManyToOne]
#[ORM\JoinColumn(nullable: false)]
private ?Projet $projet = null; |
Ma requête DQL :
Code:
1 2 3 4 5 6 7 8
|
public function getNbEmployeParProjet() :array{
$dql = $this->createQueryBuilder('e');
$dql->addSelect('p.id, p.nom , count(e.id) nb')
->leftjoin('e.projet', 'p')
->groupBy('p.id');
return $dql->getQuery()->getResult();
} |
Je n'arrive pas à faire figurer dans le résultat de la requête les projets où aucun employé ne travaille.
Merci pour votre aide.