Bonjour,
Dans mon projet, j'ai une entité CommandeProducteur qui contient une relation manytomany avec une entité GroupeProduits, qui elle-même a une relation many-to-many avec une entité Produit.
Je souhaite récupérer les produits contenus dans chaque GroupeProduit de mon objet CommandeProducteur.
Ma relation Many-toMany de mon groupe de produits est définie ainsi dans ma classe CommandeProducteur:
Dans le constructeur de ma classe CommandeProducteur j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 /** * @var ArrayCollection * * @ORM\ManyToMany(targetEntity="GroupeProduits", cascade={"persist"}) */ private $groupesProduits;
Je tente donc d'accèder aux objets groupesProduits ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $this->groupesProduits = new ArrayCollection();
mais c'est là qu'il n'aime pas: il me dit que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public function getProduits() { $tabProd=array(); $listeGroupes=$this->groupesProduits->toArray(); foreach($listeGroupes as $groupe) { $tabProd[$groupe->getNom()]=$groupe->getProduits(); } return $tabProd; }
Alors j'ai bien essayé d'y accéder directement sans passer par le ToArray(), mais il n'aime pas plus.Call to a member function toArray() on a non-object
Comment lui faire comprendre qu'il s'agit bien d'un ArrayCollection et donc d'un objet?
Merci.
Partager