ユーザーエンティティに次の列のないプロパティがあります
/**
*
* @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;
ユーザーテーブルに列の役割や会社がありません。しかし、私は以下のようにユーザーテーブルの列 roleID と 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;
ユーザーコントローラーで、次の行を使用してレコードを追加しようとすると、レコードは正常に追加されますが、roleID と 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();
しかし、エンティティ ユーザーからこれら 2 つのプロパティを削除すると、roleID と companyID も追加されます
protected $company;
protected $role;
しかし、上記のプロパティも必要です。なぜこの衝突なのか理解できませんでしたが、
誰もこの問題に直面しましたか?これを整理する方法は?何か案が?