Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2011, 07:12
yakukubu
 
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 16 años, 2 meses
Puntos: 1
Pregunta [Doctrine 2] Insertar nuevo registro

Hola..

Estoy probando algo muy simple.. insertar un nuevo registro, pero no veo el problema:

Código PHP:
$favouriteBook = new UserFavouriteBook;
$favouriteBook->user_id 5;
$favouriteBook->book_id 8;
$favouriteBook->created_at = new DateTime("now");

$this->_em->persist($favouriteBook);
$this->_em->flush(); 
Error: Message: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user_id' cannot be null

- Si hago un dump a $favouriteBook, efectivamente estan los datos correspondientes

- La entidad FavouriteBook es así:

Código PHP:
    /** @Column(type="integer")
     * @Id
     */
    
private $user_id;

    
/** @Column(type="integer")
     * @Id
     */
    
private $book_id;

    
/**
     * @ManyToOne(targetEntity="Book", inversedBy="usersFavourite")
     * @JoinColumn(name="book_id", referencedColumnName="id")
     */
    
private $book;

    
/**
     * @ManyToOne(targetEntity="User", inversedBy="favouriteBooks")
     * @JoinColumn(name="user_id", referencedColumnName="id")
     */
    
private $user;

    
/** @Column(type="datetime") */
    
private $created_at;

    public function 
__get($property) {
        return 
$this->$property;
    }
     
    public function 
__set($property$value) {
        
$this->$property $value;
    } 
También, he provado a insertarlo desde el usuario, ya que se supone que es el propietario de la clase FavouriteBook .. o esas cosas que tiene Doctrine 2.. pero, al hacer el flush(), evidentemente, me saltaba el error de que el usuario ya existía.. así que no lo veo claro..

A alguien le ha pasado? .. o alguna idea que probar?