19/02/2016, 15:41
|
| | Fecha de Ingreso: febrero-2016
Mensajes: 2
Antigüedad: 8 años, 9 meses Puntos: 0 | |
Respuesta: Formularios con datos relacionados Hola a todos,
ya logre avanzar con el tema de las relaciones y ya despliega el formulario pero a la hora de guardar los datos no lo hace.
El codigo es el siguiente:
// GCA/TaskBundle/Form/CategoryType.php
namespace GCA\TaskBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class CategoryType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tareas');
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'GCA\TaskBundle\Entity\Category',
)); }
}
// src/AppBundle/Form/Type/TaskType.php
namespace GCA\TaskBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitT ype;
use Symfony\Component\OptionsResolver\OptionsResolver;
use GCA\TaskBundle\Form\CategoryType;
class TaskType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('task')
->add('dueDate', null)
->add('category', CategoryType::class)
->add('save', SubmitType::class);
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'GCA\TaskBundle\Entity\Task',
));
}
}
class DefaultController extends Controller
{
public function newAction(Request $request)
{
// just setup a fresh $task object (remove the dummy data)
$task = new Task();
$form = $this->createFormBuilder($task);
$form = $this->createForm(TaskType::class, $task);
$form->handleRequest($request);
if ($form->isValid() && $form->isSubmitted()) {
$em = $this->getDoctrine()->getManager();
$em->persist($task);
$em->flush();
return $this->redirectToRoute('gca_task_homepage');
}
return $this->render('GCATaskBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
}
}
Agradezco la ayuda. |