ユーザー クラス (FOS_UserBundle) を変更しようとしています。会社とは別のテーブルがあり、ユーザーが作成されたら、それらの会社の 1 つに関連付けたいと考えています。最終的には、会社のテーブルにエントリを作成するときにユーザーを自動的に作成する方法を発見する必要がありますが、今のところ、テスト データをフィードしようとしています。
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var object BizTV\BackendBundle\Entity\company
*
* @ORM\ManyToOne(targetEntity="BizTV\BackendBundle\Entity\company")
* @ORM\JoinColumn(name="company", referencedColumnName="id")
*/
protected $company;
私の構成では、設定しようとしました
$this->company = 1;
しかし、それはオブジェクトが必要なのでうまくいかないので、会社のオブジェクトをインスタンス化し、ダミーデータで埋めました...
$dummy = new company;
$dummy->setActive(true);
$dummy->setCompanyName('myCompany');
$dummy->setId(1);
$this->company = $dummy;
次に、新しいエンティティが見つかったというエラー メッセージが表示されます...
エンティティの永続化操作をカスケードするように構成されていない関係 'BizTV\UserBundle\Entity\User#company' を通じて新しいエンティティが見つかりました: BizTV\BackendBundle\Entity\company@0000000018a5279000000000049c7b23. 新しいエンティティを明示的に永続化するか、関係に対してカスケード永続化操作を構成します。問題の原因となっているエンティティを特定できない場合は、'BizTV\BackendBundle\Entity\company#__toString()' を実装して手がかりを得ます。