1
テーブルタイプとテーブルlignePanierがありました。 lignePanierテーブルのtype_idカラムは、lignePanierテーブルのidを参照する外部キーです。Doctrine - 新しいエンティティが関係式Symfony3で見つかりました
私は関係が設定されているタイプは多くのlignesPanierを持っている可能性があります。私は両方のテーブルのエンティティを作成しました。
また、多くのlignesPanierを持つ可能性のあるテーブルパニエがありました。
私のPObjectが 既存lignePanierに、既存のタイプを追加し、データベースここ
にすべてを保存することですが、私のタイプのエンティティである:ここ
/**
* One type has Many lignesPanier.
* @ORM\OneToMany(targetEntity="EK\EcommerceBundle\Entity\lignePanier", mappedBy="type" , cascade={"persist"})
*/
private $lignesPanier;
は私のlignePanierエンティティである: `
/**
* Many lignes panier have One type.
* @ORM\ManyToOne(targetEntity="EK\PlateformeBundle\Entity\Type",
inversedBy="lignesPanier")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id")
*/
private $type;`
パニエエンティティ:
私はすべてのデータベースに保存したいここ:
$user = $this->getUser();
$panier = $user->getPanier();
if ($this->get('session')->get('vehicule') != null)
{
$type = $this->get('session')->get('vehicule');
$lignePanier->setType($type);
}
$lignePanier->setPanier($panier);
$lignePanier->setPiece($piece);
$lignePanier->setPrix($prix);
$panier->addLignePanier($lignePanier);
$panier->setNumArticles($panier->getNumArticles() +
$form->getData()->getQuantite());
$montant = $panier->getMontant() + $prix ;
$panier->setMontant($montant);
$em->flush();
私のコードは動作しdid'nt、私はこのエラーを得た:「
A new entity was found through the relationship
'EK\EcommerceBundle\Entity\lignePanier#type' that was not configured to
cascade persist operations for entity: Essence 1.6 i 90 cv Boite
automatique. To solve this issue: Either explicitly call
EntityManager#persist() on this unknown entity or configure cascade persist
this association in the mapping for example @ManyToOne(..,cascade=
{"persist"}).
カスケード= {" PE:NT理由を理解しますrsist "}が間違っている場合は、LignePanierエンティティに入れてみてください。 – AirBair
私は試しましたが、このエラーがあります:通知:未定義のインデックス:0000000068fb94b5000000007a524eeb – Sabra
パニエはエンティティですか?私たちにそれらを見せることができますか? –