【发布时间】:2012-02-01 19:36:03
【问题描述】:
我在多对多关系方面遇到了一些麻烦。我有Users 和Assets。我希望能够将用户分配给资产页面上的资产。
以下代码在创建/编辑资产时显示用户列表,但是对用户复选框所做的更改不会保存,而其余数据会保留。
如果我通过 mysql 客户端向 users_assets 添加条目,这些更改会显示在资产列表中。
用户
class User extends BaseUser
{
/**
* @ORM\ManyToMany(targetEntity="Asset", inversedBy="users")
*/
private $assets;
}
资产
class Asset
{
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="assets")
*/
private $users;
}
资产类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$form = $builder
->add('users', null, array(
'expanded' => true,
'multiple' => true
))
->getForm();
return $form;
}
【问题讨论】:
-
您不应该将
null更改为EntityType吗?你说的 null 是什么意思?!
标签: forms symfony many-to-many doctrine-orm