У меня есть таблицы A и B (имена не важны), отношение один ко многим, B содержит A_id, я хочу добавить запись B, вставив A_id из скрытого поля в форме, поэтому у меня есть:
index.html.twig (A)
<a href="{{ path('B_new', { 'id': entity.id }) }}">Follow</a>
Bcontroller.php
public function newAction($id)
{
$entity = new B();
$form = $this->createCreateForm($entity, $id);
return $this->render('UjcBundle:B:new.html.twig', array(
'entity' => $entity,
'form' => $form->createView(),
));
}
Но я получаю ошибку:
Error: Uncaught TypeError: Argument 1 passed to Symfony\Component\Debug\ExceptionHandler::handle() must be an instance of Exception, instance of Error given in E:\xampInstall\htdocs\nuevo\vendor\symfony\symfony\src\Symfony\Component\Debug\ExceptionHandler.php:90
Stack trace:
#0 [internal function]: Symfony\Component\Debug\ExceptionHandler->handle(Object(Error))
#1 {main}
thrown in E:\xampInstall\htdocs\nuevo\vendor\symfony\symfony\src\Symfony\Component\Debug\ExceptionHandler.php line 90
похоже, проблема в параметре $ id в createCreateForm,
, а затем:
private function createCreateForm(B $entity, $id)
{
$form = $this->createForm(new BType($id), $entity, array(
'action' => $this->generateUrl('b_create'),
'method' => 'POST',
));
$form->add('submit', 'submit', array('label' => 'Create'));
return $form;
}
Есть ли лучший способ сделать это? Параметр createCreateForm $ id является проблемой?