1 pièce(s) jointe(s)
ErrorException Warning: Illegal offset type
Bonjour,
Dans le cadre de l'encodage d'une annonce, je passe l'entité "Advert" à une fonction de mon controller. Cette fonction va permettre d'appeler le formulaire permettant d'ajouter des périodes à l'annonce :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
/**
* @Route("/road_trip/{id}/periodsManagement", name="road_trip_periodsManagement")
*/
public function periodsForm(Advert $advert, Request $request, ObjectManager $manager) {
$numberPeriods = count($advert->getPeriods());
$form = $this->createForm(PeriodsAdvertType::class, $advert);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
...
$manager->persist($advert);
$manager->flush();
...
}
return $this->render('road_trip/createPeriods.html.twig', ['form' => $form->createView(), 'editMode' => $numberPeriods > 0]);
} |
Ce qui donne ceci :
Pièce jointe 453262
Si on clique sur le bouton ajouter une prériode, on peut ajouter une (ou plusieurs) périodes de manière dynamique.
Mon souci est que si je désire créer une seule période, pas de souci, celle-ci est bien créée en base de données. Par contre, dès que je désire en enregistrer plusieurs, j'obtiens l'erreur suivante :
Citation:
Warning: Illegal offset type
Dans mon entité "Period", ma période est liée de cette manière à mon annonce :
Code:
1 2 3 4 5 6
|
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Advert", inversedBy="periods")
* @ORM\JoinColumn(nullable=false)
*/
private $advert; |
Et dans mon annonce, on retrouve les différentes périodes :
Code:
1 2 3 4 5
|
/**
* @ORM\OneToMany(targetEntity="App\Entity\Period", mappedBy="advert", cascade={"persist"}, orphanRemoval=true)
*/
private $periods; |
Je ne parviens pas à comprendre l'origine du problème. Quelqu'un aurait une idée?
Merci d'avance pour votre aide.