我在使用Sonata Admin Bundle使用mongoDB更新Symfony2中从一个集合到另一个集合的引用时遇到了一些问题。
我在用户和他们可以管理的社区之间创建了这个引用。
这是社区级
class Community
{
/**
* @MongoDB'ReferenceMany(
* targetDocument="User",
* inversedBy="communitiesAdmin",
* )
*/
protected $usersAdministrator;
用户中的这个
class User extends BaseUser
{
/**
* @MongoDB'ReferenceMany(
* targetDocument="Community",
* mappedBy="usersAdministrator",
* )
*/
protected $communitiesAdmin;
这就是我在索纳塔中展示场地的方式
$formMapper
->with('Community Administrators')
->add('usersAdministrator', 'sonata_type_model', array('expanded' => true))
->end()
当我在MongoHub中跟踪集合时,正在创建引用,但我无法更新它,因为在编辑社区时,以前插入的数据不会显示。
知道吗?
用修复
public function addVideo($video)
{
$this->videos[] = $video;
$video->addArtist($this); << This makes doctrine handle the bi direction
}
在管理员中:
->add('videos', 'sonata_type_model', array(
'required' => false,
'multiple' => true,
'by_reference' => false
))
by_reference=FALSE真的很重要!