Bueno me vuelvo a encontrar con el mismo error al intentar guardar el objeto en la bd, la verdad que no lo entiendo, porque es un objeto , ¿por qué dice que es un entero?.
Código:
public function createAction(Request $request){
$em = $this->getDoctrine()->getManager();
// crea una task y le asigna algunos datos ficticios para este ejemplo
$parent_book = new Book();
$parent_book->setId(2);
//Esta es la Id metida a mano, para ello he creado su setter y getter pertinentes.
var_dump($parent_book);
//guardas parent
$em->persist($parent_book);
$book = new Book();
$book->setPhrase('Write a blog post');
$book->setParentBranch($parent_book->getId());
// $book->setDueDate(new \DateTime('tomorrow'));
$book->setCreatorUid(1);
$form = $this->createFormBuilder($book)
->add('phrase', 'text')
->add('parentBranch', 'integer')
->add('creatorUid', 'integer')
// ->add('dueDate', 'date')
->add('save', 'submit')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
// guardar la tarea en la base de datos
$em = $this->getDoctrine()->getManager();
$em->persist($book);
$em->flush();
return $this->redirect($this->generateUrl('task_success'));
}
return $this->render('BookMainBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
}
Código:
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set id
*
* @return integer
*/
public function setId($id)
{
$this->id = $id;
return $this->id;
}
Gracias de antemano.