Bonjour,
Voila je rencontre un petit problème avec mon code.
j'ai 2 entity Recharge et Discount .
Dans l'entity Discount
/**
* @ORM\OneToMany(targetEntity=Recharge::class, mappedBy="discount")
*
*/
private $recharges;
Dans l'entity Recharge
/**
* @ORM\ManyToOne(targetEntity=Discount::class, inversedBy="recharges")
*/
private $discount;
Ce que je fais
Décrivez ici votre code ou ce que vous cherchez à faire
$recharge->setPaymentStatus('SUCCESS');
$recharge->setSenderPhoneNumber($this->getUser()->getPhone());
$recharge->setPaymentGateway(Constantes::PAYMENT_GATEWAY_STRIPE)
->setTransactionIdUnite($airtime_content->responseId)
->setTransactionStatutUnite("SUCCESS")
->setTransaction($charge->id)
->setTaxid($charge->id)
->setBalanceTransaction($charge->balance_transaction)
->setCarte($charge->source->id)
->setCountryCard($charge->source->country)
->setUser($this->getUser())
->setDiscount($discount)
->setFinger($charge->balance_transaction);
$this->em->persist($recharge);
$this->em->flush();
Ce que je veux
L'enregistrement s'effectue correctement quand je mets cascade="persist" mais le problème il me duplique le l'enregistrement du discount dans la base de donnée avec un nouvel id
Ce que j'obtiens
Dans je mets pas cascade="persiste" j'obtiens ça
Doctrine\ORM\ORMInvalidArgumentException {#1062 ▼
#message: "A new entity was found through the relationship 'App\Entity\Recharge#discount' that was not configured to cascade persist operations for entity: App\Entity\Discount@000000006eb580b70000000060cc37b0. 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"}). If you cannot find out which entity causes the problem implement 'App\Entity\Discount#__toString()' to get a clue. ◀"
#code: 0
#file: "C:\wamp\www\banlalsend\vendor\doctrine\orm\lib\Doctrine\ORM\ORMInvalidArgumentException.php"
#line: 102
trace: {▶}
Merci d'avance