Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/08/2012, 11:34
Avatar de verinchi
verinchi
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Insertar datos en entidades vinculadas Symfony 2

Hola Ribon, masterpuppet, gracias por sus comentarios. Ciertamente soy muy junior en esto

Intenté haciendo los cambios que sugirieron y me quedó:

Código PHP:
class tipoPasaje
{
    
/**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    
private $id;
    
    
/**
     * @ORM\OneToMany(targetEntity="Pasaje", mappedBy="cdTipopas") 
     */
    
protected $Pasaje;
    public function 
__construct()
    {
        
$this -> Pasaje = new ArrayCollection();
    }

...

/**
     * Add aPasaje
     *
     * @param Pasaje
     */
    
public function addPasaje($Pasaje)
    {
        
$this->Pasaje[] = $Pasaje;
    }

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

class 
Pasaje
{
    
/**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    
private $id;

    
/**
     * @var string $nuNropasaje
     *
     * @ORM\Column(name="nuNropasaje", type="string", length=30)
     */
    
private $nuNropasaje;

    
/**
     * @var integer $cdTipopas
     * @ORM\Column(name="cdTipopas", type="integer")
     * @ORM\ManyToOne(targetEntity="tipoPasaje", inversedBy="Pasaje")
     * @ORM\JoinColumn(name="cdTipopas", referencedColumnName="id")
     * @return integer
     */
    
private $cdTipopas;


Los getters y setters para Pasaje:
Código PHP:
/**
     * Set cdTipopas
     *
     * @param integer $cdTipopas
     */
    
public function setcdTipopas(tipoPasaje $cdTipopas)
    {
        
$this->cdTipopas $cdTipopas;
    }

    
/**
     * Get cdTipopas
     *
     * @return integer 
     */
    
public function getCdTipopas()
    {
        return 
$this->cdTipopas;
    } 
Luego en el controlador
Código PHP:
$ip=$this->getDoctrine()->getEntityManager();
$pasaje->setcdTipopas($ip-> getReference('pasajesBundle:tipoPasaje'1)); 
Al intentar guardar, ahora el error cambia por este:

Invalid variable used for bind', 'C:\xampp\htdocs\Symfony\vendor\doctrine-dbal\lib\Doctrine\DBAL\Driver\OCI8\OCI8Statement.p hp', '112', array('column' => ':param3', 'variable' => object(tipoPasaje), 'type' => '1'))

Perdón por las incoherencias de acuerdo a las convenciones, ya me iré acostumbrando y mejorando mis definiciones de objetos.

Nuevamente, no se dónde la estoy pifiando
__________________
Why can't we not be sober?
www.partitorium.com.ar