Bonjour,

J'essaie de faire un remove dans un EventListenner et j'ai toujours la même erreur'
Il n'y a pas de relation entre les deux tables...je sais pas propre mais c'est comme ça.

En gros une table couleur, et une table couleurToProduit. Du coup, lorsque je supprime une couleur, j'aimerais supprimer les associations dans couleurToProduit.

Mon listenner :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?php
namespace Cuisine\AppBundle\Entity\Listener;
 
use Doctrine\ORM\Event\LifecycleEventArgs;
use Cuisine\AppBundle\Entity\Couleur;
use Cuisine\AppBundle\Entity\CouleursToProduit;
 
class CouleurListener
{
 
    public function preRemove(LifecycleEventArgs $event)
    {
 
    	$entity = $event->getEntity();
 
    	$em = $event->getEntityManager()->getRepository('CuisineAppBundle:CouleursToProduit');
 
  		$results = $em->findByCouleurId($entity->getId());
 
  		foreach ($results as $result) {
 
  			if ($result instanceOf CouleursToProduit) {
  				$em->remove($result);
  				$em->flush();
  			}
  		}
 
    }
}
L'erreur obtenue:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Undefined method 'remove'. The method name must start with either findBy or findOneBy!
Je me casse la tête dessus depuis 3 jours. Si quelqu'un a une idée, une solution je suis preneur

Merci d'avance