我有一个名为的实体News
,其中包含ManyToMany
与User
实体的关系。这意味着一篇文章可以由多个作者撰写。
/**
* @ORM\ManyToMany(targetEntity="GW2\UserBundle\Entity\User")
*/
private $authors;
问题是我想以我用来添加的形式动态添加作者News
,但我不知道如何存储数据,并保持我的两个实体之间的关系。作者的数量不固定,也不受限制。
我对该collection
类型进行了一些研究并将其添加到我的NewsType
中,但我真的不知道如何使用它。
编辑:这是我当前的 NewsType(没有作者collection
):
<?php
namespace GW2\SiteBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class NewsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', 'text', array('error_bubbling' => true))
->add('introduction', 'textarea', array('attr' => array('class' => 'input-block-level redactor_content'), 'error_bubbling' => true))
->add('content', 'textarea', array('attr' => array('class' => 'input-block-level redactor_content'), 'error_bubbling' => true))
->add('publication', 'checkbox', array('required' => false, 'error_bubbling' => true))
->add('categories', 'entity', array(
'class' => 'GW2SiteBundle:Category',
'property' => 'name',
'required' => false,
'multiple' => true
))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'GW2\SiteBundle\Entity\News'
));
}
public function getName()
{
return 'gw2_sitebundle_newstype';
}
}