1
doctrine2關係屬性我已經在用戶enitityZF2不工作
/**
*
* @ORM\ManyToOne(targetEntity="\Auth\Entity\Company", inversedBy="user")
* @ORM\JoinColumn(name="companyID", referencedColumnName="id")
*/
protected $company;
/**
*
* @ORM\ManyToOne(targetEntity="\Auth\Entity\Role", inversedBy="user")
* @ORM\JoinColumn(name="roleID", referencedColumnName="id")
*/
protected $role;
我沒有在用戶表列角色或公司繼無柱的屬性。 但我在user表HAE列角色ID和companyID和用戶實體如下
/**
* @ORM\Column(type="integer")
* @ORM\ManyToOne(targetEntity="\Auth\Entity\Role", inversedBy="user")
* @ORM\JoinColumn(name="roleID", referencedColumnName="id")
*/
protected $roleID;
/**
* @ORM\Column(type="integer")
* @ORM\ManyToOne(targetEntity="\Auth\Entity\Company", inversedBy="user")
* @ORM\JoinColumn(name="companyID", referencedColumnName="id")
*/
protected $companyID;
在用戶控制器thier各自的屬性,當我嘗試使用以下行它成功添加記錄,但沒有角色ID和companyID添加記錄
$userData = array("username" => $username, "pass" => $secPass,
"salt" => $salt, "companyID" => $companyID,
"roleID" => $roleID, "cost" => $cost
);
$user->populate($userData);
$this->getEntityManager()->persist($user);
$this->getEntityManager()->flush();
,但如果我從實體用戶刪除這兩個屬性,那麼它也添加角色ID和companyID
protected $company;
protected $role;
但我還需要以上屬性。我無法理解爲什麼這個衝突,
任何人都面臨這個問題?以及如何解決這個問題?任何想法?
AFAIK,你不應該在你的實體屬性中具有ID。 –
你不需要映射這些colums $ companyID和$ roleID,你可以使用$ this-> company-> getId()'和'$ this-> role-> getId()'。如果您經常需要,您也可以在實體中創建代理方法。 –