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?