これは私が参照したいオブジェクトを持っていて、インスタンス化されていないという基本的な問題です。私が間違っていることを確信していない。Symfony3 - Doctrine関連のオブジェクトが設定されていません
私は多くのオブジェクトにMARKETとVENDORというオブジェクトが関連付けられています。市場には多くのベンダーがあり、ベンダーには1つの市場しかありません。私は、ベンダーをロードするときにマーケットオブジェクトを取得しようとしています。
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;
}
私はVendorオブジェクトを見つけると、マーケットセットがないことがわかります。マーケットアイデアはあるが、マーケットオブジェクトは含まれていないことに注意してください。
"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
}
市場のクラスが存在し、セットアップ逆があります
<?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();
}
}
わからない私はこれで間違っている可能性があります。私はSymfony 3を初めて使用しています。