générateur de requêtes de nombreux de nombreux de la relation

Je suis confronté à quelques problèmes avec le générateur de requêtes dans nombreux de nombreux de la relation.

J'ai une entité de la Société qui ont subcompanies ainsi, j'ai donc:

class Company {

private $id;

/**
* @var ArrayCollection
* 
* @ORM\ManyToMany(targetEntity="Company")
* @ORM\JoinTable(name="company_relation", 
*   joinColumns={ 
*     @ORM\JoinColumn(name="id", referencedColumnName="id")
*   },
*   inverseJoinColumns={ 
*     @ORM\JoinColumn(name="subcompany", referencedColumnName="id")
*   }
* )
*/    
private $ChildrenCompany;

[...]

}

Alors je suis en train de faire un générateur de requête qui renvoie les entreprises qui ont porté subcompanies (par exemple subcompany avec l'id 5). J'ai essayé de deux façons:

méthode A)

$query->select ('c');
$query->from(MyBundle:Company, 'c');
$query->leftJoin('c.ChildrenCompany','j');
$query->where('j.subcompany = 5'); 

Il ne fonctionne pas et me donner le message d'erreur: Classe de l'Application\Sademer\CoreBundle\Entity\Société n'a pas de champ ou d'une association nommée subcompany

méthode B)

$query->select ('c');
$query->from(MyBundle:Company, 'c');
$query->where('j.ChildrenCompany = 5'); 

Il ne fonctionne pas et me donner l'erreur: Invalid PathExpression. StateFieldPathExpression ou SingleValuedAssociationField prévu.

Merci!!! 😉

Pouvez-vous poster plus de code. Par exemple, lorsque vous instanciez le générateur de requête.
J'instancie le générateur de requête comme: $query = $this->getModelManager()->createQuery(MyBundle:Société, "entité");

OriginalL'auteur Angel | 2013-04-15