Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2014, 14:24
Avatar de cluster28
cluster28
 
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 11 meses
Puntos: 32
Doctrine cascade persist

Buenas,

No se que estoy haciendo mal para que me guarde siempre null en el campo alerta de la tabla patrones.

Código PHP:

/* Entities*/

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

    
/**
     * @ORM\OneToMany(targetEntity="Patron", mappedBy="alerta", cascade={"persist", "remove"})
     */
    
private $patrones;

    ...

}

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

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

    
/**
     * @ORM\ManyToOne(targetEntity="Alerta", inversedBy="patrones")
     * @ORM\JoinColumn(name="alerta", referencedColumnName="id")
     */
    
private $alerta;

    ...


Y para guardar la alerta y el patrón a la vez hago

Código PHP:
$patron = new Patron();
$patron->setPatron("blablabla");

$alerta = new Alerta();
$alerta->addPatron($patron);

$em->persist($alerta);
$em->flush(); 
La alerta la inserta bien pero el patrón no.

Código SQL:
Ver original
  1. INSERT INTO patrones (patron, alerta)
  2. VALUES
  3.   (?, ?)
  4.  
  5. Parameters: { 1: blablabla, 2: NULL }