2014-01-26 3 views
0

사용자 엔티티와 임무 엔티티가 연관되어 있습니다.배열 컬렉션 : 매핑 연결이 서로 일치하지 않습니다.

symfony의 프로파일 러에서 두 가지 오류가 발생합니다. 클래스 한국 전기 \ ManagementBundle \ 엔티티 \ 사용자를위한

내가 얻을 :

The mappings Acme\ManagementBundle\Entity\User#missions and Acme\ManagementBundle\Entity\Mission#users are incosistent with each other. 

클래스 한국 전기 \ ManagementBundle \ 법인 \ 미션을 위해 나는 얻을 :

The association Acme\ManagementBundle\Entity\Mission#users refers to the inverse side field Acme\ManagementBundle\Entity\User#users which does not exist. 

나 자신에 의해 해결하려 읽는 here 그러나 나는 could't. 당신은 Mission 클래스의 users 속성 잘못된 주석이

abstract class User extends BaseUser 
{ 

    /** 
    * @ORM\ManyToMany(targetEntity="Acme\ManagementBundle\Entity\Mission", mappedBy="users") 
    */ 
    protected $missions;  
    public function __construct(){ 
     parent::__construct(); 
     $this -> missions = new ArrayCollection(); 
    } 
    /** 
    * Add missions 
    * 
    * @param \Acme\ManagementBundle\Entity\Mission $missions 
    * @return User 
    */ 
    public function addMission(\Acme\ManagementBundle\Entity\Mission $missions) 
    { 
     $this->missions[] = $missions; 

     return $this; 
    } 

    /** 
    * Remove missions 
    * 
    * @param \Acme\ManagementBundle\Entity\Mission $missions 
    */ 
    public function removeMission(\Acme\ManagementBundle\Entity\Mission $missions) 
    { 
     $this->missions->removeElement($missions); 
    } 

    /** 
    * Get missions 
    * 
    * @return \Doctrine\Common\Collections\Collection 
    */ 
    public function getMission() 
    { 
     return $this->missions; 
    } 
} 

답변

3

:

클래스 미션 {

/** 
    * @ORM\ManyToMany(targetEntity="Acme\ManagementBundle\Entity\User", inversedBy="users") 
    */ 
    protected $users; 

    public function __construct(){ 
     $this -> users = new ArrayCollection(); 
    } 

     /** 
    * Add users 
    * 
    * @param \Acme\ManagementBundle\Entity\User $users 
    * @return Mission 
    */ 
    public function addUser(\Acme\ManagementBundle\Entity\User $users) 
    { 
     $this->users[] = $users; 

     return $this; 
    } 

    /** 
    * Remove users 
    * 
    * @param \Acme\ManagementBundle\Entity\User $users 
    */ 
    public function removeUser(\Acme\ManagementBundle\Entity\User $users) 
    { 
     $this->users->removeElement($users); 
    } 

    /** 
    * Get users 
    * 
    * @return \Doctrine\Common\Collections\Collection 
    */ 
    public function getUsers() 
    { 
     return $this->users; 
    } 
//... 
} 

그리고 내 사용자 개체 :

내 임무 엔티티입니다. 다음과 같아야합니다.

/** 
* @ORM\ManyToMany(targetEntity="Acme\ManagementBundle\Entity\User", inversedBy="missions") 
*/ 
protected $users;