3 つのエンティティUsers
がUserProfile
あり、Staffs
ユーザー プロファイルは、ユーザー ID を使用してユーザー テーブルにリンクされます スタッフ テーブルは、userprofileid を使用してユーザー プロファイルにリンクされます
管理者はユーザー プロファイルを作成し、登録番号、ユーザー名、およびパスワードを生成します。
ユーザー テーブルにユーザー レコードを追加し、ユーザー プロファイルを追加してから、プロファイル ID をスタッフ テーブルに追加します。
3 つのエンティティを連続して保持したい
次のようなユーザーのインスタンスを作成しようとしました
$this->userent->setUsername('xxx');
$this->em->persist($this->userent);
$this->em->flush();
それから:
$this->profileent->setFirstname('xxx');
$this->em->persist($this->profileent);
$this->em->flush();
基本的にフォームは3つのエンティティで共有されており、3つのテーブルに順番に挿入したいのですが、
更新しました
エンティティとは別に、ユーザーにリンクされusers
たusertype
エンティティがあります...外部キーのみを保持したいです。私は持っている
setUserType(Usertype $userType)
users 内の user_type エンティティのインスタンスをメソッド化する
私がする時
$this->userent = new Users();
$this->userent->setUserType($this->em->getRepository('\Campus\Entity\Usertype')->findByUserType("admin"))
エラーが発生します
Argument 1 passed to Campus\Entity\Users::setUserType() must be an instance of Campus\Entity\Usertype, array given
Usertype のインスタンスである配列の値を渡す場合
ArrayCollection の配列が必要だというエラーが表示されます。助けてください!!!
Argument 1 passed to Doctrine\Common\Collections\ArrayCollection::__construct() must be of the type array, object given, called in D:\xampp\htdocs\zend\library\Doctrine\ORM\UnitOfWork.php on line 406 defined in D:\xampp\htdocs\zend\library\Doctrine\Common\Collections\ArrayCollection.php on line 46