Cita:
Iniciado por hhs Muy bien el método
setParentBranch espera recibir un objeto de tipo Book como "parent" perro para que esto sea posible primero debes de tener el parent antes que el libro.
Código PHP:
Ver original$em = $this->getDoctrine()->getManager();
$parent_book = new Book();
$parent_book->setPhrase('Continua...');
//guardas parent
$em->persist($parent_book);
$book = new Book();
$book->setPhrase('Bla, bla..');
$book->setParentBranch($parent_branch);
$book->setCreatorUid(1);// si esto es una relación necesitas delcararla tambien
$em->persist($book);
Ok, gracias , lo he podido resolver con tu ayuda así:
En el controller
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(1);
//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('parent_branch', 'integer')
->add('creator_uid', 'integer')
// ->add('dueDate', 'date')
->add('save', 'submit')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
// guardar la tarea en la base de datos
return $this->redirect($this->generateUrl('task_success'));
}
return $this->render('BookMainBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
}
Y la entidad (modelo), he creado un nuevo setter para Id:
Código:
public function setId($id)
{
return $this->id;
}
Mil gracias