所以我有OneToMany
兩個實體之間的關係,我已經創建了相關的表單,但似乎FormBuilder
發送數據後,沒有看到實體。
父類:Symfony:表單生成器沒有得到OneToMany輸入
class Parent{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="Child",mappedBy="parent",cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=false)
*/
private $children;
}
子類:
class Child{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @ORM\ManyToOne(targetEntity="Parent", inversedBy="children")
*/
private $parent;
}
這是FormTypes:
class ParentType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name')
->add('children', CollectionType::class, array(
'entry_type' => ChildType::class,
'allow_add' => true
));
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Bundle\Entity\Parent'
));
}
}
兒童FormType:
class ChildType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name');
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Bundle\Entity\Child'
));
}
}
之後,我創建了我的形式在控制器內是這樣的:
function saveAction(Request $request){
$parent = new Parent();
$form = $this->createForm('Bundle\Form\ParentType', $parent);
$form->handleRequest($request);
if ($form->isSubmitted()) {
//--after submitted the form I just want to display the children
die(var_dump($parent->getChildren()));
}
}
當然我創建使用由symfony中的FormBuilder
提供的數據原型的jQuery的兒童中,但形式沒有看到他們!
我在這裏錯過了什麼?
您可以使用'query_builder'屬性,如下所示:[在symfony中具有嵌入式關聯實體的完整webform樣式CRUD示例](http://www.inanzzz.com/index.php/post/djrc/full-webform -style-crud-example-with-an-embedded-associated-entity-in-symfony) – BentCoder