Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/08/2016, 05:27
schattenburg
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Obtener el $this->getDoctrine() desde un clase propia

Hola a todos:

Tengo la siguiente estructura:

Me he creado una clase propia llamada CActores:

Código PHP:
Ver original
  1. namespace cineastasBundle\Model;
  2. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  3. use cineastasBundle\Entity\Actores; // para trabajar con la BD
  4.  
  5. class CActores  {
  6.      
  7.     function __construct() {
  8.     }
  9.    
  10.     // *********************************
  11.     function addActor($arr) {
  12.         $actor = new Actores(); // creamos instancia
  13.         $actor->setNomActor($arr["nom_actor"]);
  14.         $actor->setAnnoOscar($arr["anno_oscar"]);
  15.         $actor->setTitPelicula($arr["tit_pelicula"]);
  16.         $actor->setDirPelicula($arr["dir_pelicula"]);
  17.        
  18.         $em = $this->getDoctrine()->getManager();
  19.         $em->persist($actor);
  20.         $em->flush();
  21.        
  22.     }
  23. }

Y lo llamo desde un controllador de la siguiente manera:

Código PHP:
Ver original
  1. public function insertarActorAction()  {
  2.         $CActores = new CActores();
  3.         $CActores->addActor($_POST);
  4.         return $this->redirect($this->generateUrl('cineastas_listadoActores'));
  5.     }

El error me da en la línea de:
Código PHP:
Ver original
  1. $em = $this->getDoctrine()->getManager();

¿Cómo puedo desde una clase propia obtener el getDoctrine? He visto varias soluciones buscando en google (como modificar el service.yml o heredar controlladores) pero ninguna me ha funcionado.

¿Qué debería poner para obtenerlo en mi clase? Debe ser algo sencillo pero todo lo que he probado me ha fallado.

Muchas gracias por adelantado