【发布时间】:2016-12-14 15:35:46
【问题描述】:
存在具有 ManyToMany 关系的 Service 和 Tag 实体。
class Service {
/**
* @ORM\ManyToMany(targetEntity="Tag", mappedBy="serviceList",cascade={"persist"})
*/
private $tagList;
}
class Tag{
/**
* @var string
*/
private $name;
/**
* @ORM\ManyToMany(targetEntity="Service", inversedBy="tagList")
* @ORM\JoinTable(name="tags_services")
*/
private $serviceList;
}
这里是服务类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', TextType::class, array(
'label' => 'Title',
))
->add('tags', TextType::class, array(
'label' => 'Tags',
'mapped' => false
))
;
}
在编辑服务实体时,如何在标签文本表单字段中获取以逗号分隔的服务标签名称?
例如,我有带有 tagList 的“数学导师”服务:“数学”、“导师”、“课程”。当我尝试对其进行编辑时,表单应如下所示:
| title | Math tutor | <- text field
| tags | Math, Tutor, Lessons | <- text field
【问题讨论】:
标签: symfony doctrine-orm many-to-many symfony-forms