0

私は2つのエンティティを持っています:

支払いと会社。

Payment エンティティは、次のように Company エンティティに関連付けられています。

/**
* @OneToOne(targetEntity="Companies")
* @JoinColumn(name="company_id", referencedColumnName="id")
*/
private $total;

この関連付けが挿入時に呼び出されるのはなぜですか?

支払いテーブルにいくつかのもの (挿入) を設定する必要がありますが、エラーが発生しています。

Integrity constraint violation: 1048 Column 'company_id' cannot be null

どんな助けでも大歓迎です。

4

1 に答える 1

0

最初に $company エンティティをフェッチ (または作成) し、保存する前に $payment に渡す必要があります。何かのようなもの:

// First get the company that should be related to the new payment    
$company = $entityManager->getRepository('Company')->find($companyId);

// Attach it to our new payment
$payment->setCompany($company); // Or whatever the setter is in your entity class

// Now we can save
$entityManager->persist($payment);
$entityManager->flush();
于 2013-03-27T19:58:39.917 に答える