Dies ist ein grundlegendes Problem, bei dem ich ein zugeordnetes Objekt habe, auf das ich verweisen möchte, das aber nicht instanziiert wird. Ich bin mir nicht sicher, was ich falsch mache.Symfony3 - Doctrine associated object wird nicht ausgefüllt
Ich habe Objekte MARKET und und VENDOR eine zu viele zugeordnet. Märkte haben viele Anbieter, Anbieter haben nur einen Markt. Ich suche das Marktobjekt, wenn ich den Verkäufer lade.
class Vendor
{
/**
* @ORM\ManyToOne(targetEntity="Expedient\PurchaseBundle\Entity\Market", inversedBy="vendors")
* @ORM\JoinColumn(name="market_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
*/
private $market;
/**
* @var int
*
* @ORM\Column(name="market_id", type="integer", nullable=true)
*/
private $marketId;
...
/**
* Set market
*
* @param \Expedient\PurchaseBundle\Entity\Market $market
*
* @return Market
*/
public function setMarket(\Expedient\PurchaseBundle\Entity\Market $market = null)
{
$this->market = $market;
return $this;
}
/**
* Get market
*
* @return \Expedient\PurchaseBundle\Entity\Market
*/
public function getMarket()
{
return $this->market;
}
Wenn ich das Vendor-Objekt finde, sehe ich, dass kein Markt eingestellt ist Beachten Sie, dass es eine MarketId gibt, aber kein Marktobjekt ist enthalten.
"vendor" => Vendor {#117 ▼
-market: null
-id: "11"
-name: "A-Air Company"
-account: ""
-attn: "Rege Dumm/John Matthews"
-address1: "206 Overlook Drive"
-address2: ""
-city: "Sewickley"
-state: "PA"
-zip: "15143"
-country: "USA"
-phone: "412-741-9420"
-cellPhone: null
-fax: "412-749-8590"
-tag: "A-Air Company"
-active: true
-email: "[email protected]; [email protected]"
-securityAgreement: true
-securityAgreementDate: DateTime {#114 ▶}
-insuranceCert: true
-insuranceCertDate: null
-marketId: 1
}
Der Markt Klasse existiert und hat die inverse eingerichtet:
<?php
namespace Expedient\PurchaseBundle\Entity;
/**
* Market
*/
class Market
{
/**
* @var integer
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="Vendor", mappedBy="market")
*/
protected $vendors;
public function __construct()
{
$this->vendors = new ArrayCollection();
}
}
nicht sicher, wo ich mit diesem schief gehen könnte. Ich bin neu in Symfony 3.