Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/02/2014, 19:45
Esdras_mtz
 
Fecha de Ingreso: febrero-2014
Ubicación: Edo. México
Mensajes: 85
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Guardar datos en Tablas de Muchos a muchos Doctrine 2 y symfony 2.3

Hola pmeninsaxmus16, tambien soy nuevo en esto Symfony pero curiosamente estoy trabajando con una relacion de tablas similares a la tuya, a ver si te puedo ayudar.
Igualmente tengo 3 tablas
1.-Torneos
2.-Inscripcionequipo (esta tabla es mi tabla intermedia)
3.-Equipos
Te pongo como quedaron mis entidades a ver si de algo te ayudan:

Código PHP:
<?php
use DoctrineORMMapping as ORM;
use 
DoctrineCommonCollectionsArrayCollection;


class 
Torneos
{
   ......    
    
    
/**
     * @ORM\OneToMany(targetEntity="Inscripcionequipo", mappedBy="idTorneo", cascade={"persist"})
     */    
    
private $insEqTorneos;
            
    public function 
__construct()
    {
        
$this->insEqTorneos = new ArrayCollection();
    }
    
.....

    
/**
     * Add insEqTorneos
     *
     * @param \Futbol\MainBundle\Entity\Inscripcionequipo $insEqTorneos
     * @return Torneos
     */
    
public function addInsEqTorneo(Inscripcionequipo $insEqTorneos)
    {
//        $this->insEqTorneos[] = $insEqTorneos;

          
$insEqTorneos->setIdTorneo($this);
          
$this->insEqTorneos->add($insEqTorneos);

        return 
$this;
    }

    
/**
     * Remove insEqTorneos
     *
     * @param \Futbol\MainBundle\Entity\Inscripcionequipo $insEqTorneos
     */
    
public function removeInsEqTorneo(FutbolMainBundleEntityInscripcionequipo $insEqTorneos)
    {
        
$this->insEqTorneos->removeElement($insEqTorneos);
    }

    
/**
     * Get insEqTorneos
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    
public function getInsEqTorneos()
    {
        return 
$this->insEqTorneos;
    }
}
Código PHP:
<?php
use DoctrineORMMapping as ORM;

class 
Inscripcionequipo
{
 
// .....

    /**
     * @var \Equipos
     *
     * @ORM\ManyToOne(targetEntity="Equipos", inversedBy="insEqEquipos", cascade={"persist"})
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_Equipo", referencedColumnName="id")
     * })
     */
    
private $idEquipo;

    
/**
     * @var \Torneos
     *
     * @ORM\ManyToOne(targetEntity="Torneos", inversedBy="insEqTorneos", cascade={"persist"})
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_Torneo", referencedColumnName="id")
     * })
     */
    
private $idTorneo;

   
    
/**
     * Set idEquipo
     *
     * @param \Futbol\MainBundle\Entity\Equipos $idEquipo
     * @return Inscripcionequipo
     */
    
public function setIdEquipo(FutbolMainBundleEntityEquipos $idEquipo null)
    {
        
$this->idEquipo $idEquipo;

        return 
$this;
    }

    
/**
     * Get idEquipo
     *
     * @return \Futbol\MainBundle\Entity\Equipos 
     */
    
public function getIdEquipo()
    {
        return 
$this->idEquipo;
    }

    
/**
     * Set idTorneo
     *
     * @param \Futbol\MainBundle\Entity\Torneos $idTorneo
     * @return Inscripcionequipo
     */
    
public function setIdTorneo(FutbolMainBundleEntityTorneos $idTorneo null)
    {
        
$this->idTorneo $idTorneo;

        return 
$this;
    }

    
/**
     * Get idTorneo
     *
     * @return \Futbol\MainBundle\Entity\Torneos 
     */
    
public function getIdTorneo()
    {
        return 
$this->idTorneo;
    }
Código PHP:
<?php
use DoctrineORMMapping as ORM;
use 
DoctrineCommonCollectionsArrayCollection;


class 
Equipos
{
   /...

/**
     * @ORM\OneToMany(targetEntity="Inscripcionequipo", mappedBy="idEquipo", cascade={"persist"} )
     */
    
    
private $insEqEquipos;
            
    public function 
__construct()
    {
        
$this->insEqEquipos = new ArrayCollection();
    }

  
    
/**
     * Add insEqEquipos
     *
     * @param \Futbol\MainBundle\Entity\Inscripcionequipo $insEqEquipos
     * @return Equipos
     */
    
public function addInsEqEquipo(FutbolMainBundleEntityInscripcionequipo $insEqEquipos)
    {
        
$this->insEqEquipos[] = $insEqEquipos;

        return 
$this;
    }

    
/**
     * Remove insEqEquipos
     *
     * @param \Futbol\MainBundle\Entity\Inscripcionequipo $insEqEquipos
     */
    
public function removeInsEqEquipo(FutbolMainBundleEntityInscripcionequipo $insEqEquipos)
    {
        
$this->insEqEquipos->removeElement($insEqEquipos);
    }

    
/**
     * Get insEqEquipos
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    
public function getInsEqEquipos()
    {
        return 
$this->insEqEquipos;
    }
  
}

Última edición por Esdras_mtz; 22/02/2014 a las 19:53