2012-09-03 30 views
2

在使用Sonata Admin Bundle的mongoDB中,Symfony2中的引用從一個集合更新到另一個集合時遇到了一些問題。使用Sonata和MongoDB更新Symfony中許多參考文獻的問題

我已經在用戶和他們可以管理的社區之間創建了這個參考。

這一個是在社區類

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中的集合參考正在創建,但我無法更新它,因爲以前inser數據我在編輯社區時沒有顯示特德。

有什麼想法?

回答

2

與固定它:

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真的很重要!