【发布时间】:2014-02-27 11:14:01
【问题描述】:
这是常见的问题。 有许多复选框的表格。使复选框可用并点击保存,对应复选框标签的字段不保存。
PersonAdmin 类包含
...
->add('books', 'sonata_type_model',
array('by_reference' => false, 'expanded' => true, 'multiple' => true, 'label' => 'Books'))
...
实体类包含
/**
* @ORM\ManyToMany(targetEntity="Book", mappedBy="persons", cascade={"persist"})
* @ORM\JoinTable(name="person_book")
*/
protected $books;
....
public function __construct()
{
$this->books = new ArrayCollection();
}
public function addBook(Book $book)
{
$this->books[] = $book;
return $this;
}
还有 geters、seters...
我没有成功地寻找解决方案。我发现有必要添加
'by_reference' => false,
或
cascade={"persist"}
但我的代码中包含所有这些。
【问题讨论】:
标签: forms symfony many-to-many sonata-admin