[Symfony 2.7.0]Doctrine query builder
Bonjour,
J'ai cette relation :
entreprise one-to-many salarié one-to-many voiture
J'aimerais sélectionner tous les salariés qui n'ont pas de voiture mais je suis bloqué...
J'ai la contrainte de sélectionner aussi que les salariés appartenant à l'entreprise passer en paramètre et différents de celui passer en paramètre.
Voici ce que j'ai commencé à faire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public function queryfindByEntrepriseId($entreprise, $salarie = null)
{
$q = $this->createQueryBuilder('salarie')
->leftJoin('salarie.entreprise', 'entreprise')
->addSelect('entreprise')
->leftJoin('entreprise.salaries', 'salaries')
->where('salaries.voiture = :voiture')
->setParameter('voiture', null );
if($salarie){
$q->andWhere('salarie.id != :salarie')
->andWhere('entreprise.id = :entreprise')
->setParameter('salarie',$salarie);
}else{
$q->andWhere('entreprise.id = :entreprise');
}
$q->setParameter('entreprise',$entreprise);
return $q;
} |
Je comprends que cela ne puisse pas marcher, mais je ne vois pas comment faire pour que ça fonctionne...
J'imagine qu'il y a peut être une sous requête à faire?
Merci pour votre aide.