Symfony / doctrine insert related objects

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

Java Developer / Domotica / Public Cloud / Verbete

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan het ontwikkelen van innovatie Java applicaties die het levensgeluk van patiënten in diverse zorginstellingen aanzienlijk verbeterd? Lees dan snel verder! Ontwikkelen van nieuwe applicaties in Public Cloud; Optimaliseren en verbeteren van bestaande applicaties in Private Cloud; Meedenken over verbeterprojecten; Maken en uitvoeren van Stress Testing; Ontwikkelen en verbeteren van de Mobile app. Functie-eisen Hbo werk- en denkniveau; Minimaal 5 jaar relevante werkervaring; Ervaring in Java 8; Kennis van Linux, Public- en Private Cloudtechnieken; Je bent communicatief erg sterk en kan tegen de nodige stress. Bedrijfsomschrijving Deze organisatie is al ruim

Bekijk vacature »

Jasper DS

Jasper DS

15/01/2015 16:01:17
Quote Anchor link
Hoi,

ik heb een object "Order" en dat object heeft een array van orderDetails (classe: "OrderDetail").

Bij een nieuwe order wil ik zowel de order als de orderdetails in de database stoppen, en dat lukt perfect behalve de relatie tussen de twee objecten. Het "order_id" veld in de order_detail tabel blijft leeg. Hoe kan ik dat voorkomen?

Code waar ik de insert doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$order = $form->getData();
$this->om->persist($order);
$this->om->flush($order);


Dump van $order
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
object(Jds\ApiBundle\Entity\Order)[439]
  protected 'id' => null
  protected 'orderDate' =>
    object(DateTime)[611]
      public 'date' => string '2015-01-15 13:42:00' (length=19)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/Paris' (length=12)
  protected 'orderDetails' =>
    object(Doctrine\Common\Collections\ArrayCollection)[440]
      private '_elements' =>
        array (size=2)
          0 =>
            object(Jds\ApiBundle\Entity\OrderDetail)[667]
              protected 'id' => null
              protected 'product' =>
                object(Jds\ApiBundle\Entity\Product)[736]
                  ...
              protected 'price' => float 1
              protected 'amount' => int 2
              protected 'order' => null
          1 =>
            object(Jds\ApiBundle\Entity\OrderDetail)[702]
              protected 'id' => null
              protected 'product' =>
                object(Jds\ApiBundle\Entity\Product)[749]
                  ...
              protected 'price' => float 1
              protected 'amount' => int 5
              protected 'order' => null

Order-entity:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
/**
 * @ORM\Entity()
 * @ORM\Table(name="the_order")
 */

class Order implements OrderInterface
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer", length=6)
     * @ORM\GeneratedValue(strategy="AUTO")
     * @Serializer\Groups({"orderList"})
     */

    protected $id;

    /**
     * @ORM\Column(type="datetime", nullable=false)
     * @Serializer\Groups({"orderList"})
     */

    protected $orderDate;

    //protected $orderedBy;

    //protected $handledBy;

    /**
     * @ORM\OneToMany(targetEntity="OrderDetail", mappedBy="order")
     * @Serializer\Groups({"orderList"})
     **/

    protected $orderDetails;


OrderDetail-entity
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/**
 * @ORM\Entity()
 * @ORM\Table(name="order_detail")
 */

class OrderDetail
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer", length=8)
     * @ORM\GeneratedValue(strategy="AUTO")
     */

    protected $id;

    /**
     * @ORM\ManyToOne(targetEntity="Product")
     * @Serializer\Groups({"orderList"})
     */

    protected $product;

    /**
     * @ORM\Column(type="decimal", precision=4, scale=2)
     */

    protected $price;

    /**
     * @ORM\Column(type="integer", length=2)
     * @Serializer\Groups({"orderList"})
     */

    protected $amount;

    /**
     * @ORM\ManyToOne(targetEntity="Order", inversedBy="orderDetails")
     **/

    protected $order;
Gewijzigd op 15/01/2015 16:03:38 door Jasper DS
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.