次のようなエンティティがあります
.
.
.
/**
* @ORM\ManyToMany(targetEntity="PrLeadBundle\Entity\Stock")
* @ORM\JoinColumn(name="stock_id", referencedColumnName="id", nullable=true)
*/
private $stock;
public function __construct()
{
$this->stock = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add stock
*
* @param \PrLeadBundle\Entity\Stock $stock
* @return ValueList
*/
public function addStock(\PrLeadBundle\Entity\Stock $stock)
{
$this->stock[] = $stock;
return $this;
}
/**
* Remove stock
*
* @param \PrLeadBundle\Entity\Stock $stock
*/
public function removeStock(\PrLeadBundle\Entity\Stock $stock)
{
$this->stock->removeElement($stock);
}
/**
* Get stock
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getStock()
{
return $this->stock;
}
これらの値にアクセスしようとすると、結合列エラーが発生します。
私は使用しています:
$Values = $entityManager->getRepository('PrLeadBundle:ValueList')->findBy(array('disabled' => '0','exportable'=>'1'), array('title' => 'ASC'));
foreach ($Values as $item){
var_dump($item->getStock()->getId());
}
これは私が遭遇したため、私にとって少し混乱しています:
クラス「Doctrine\ORM\PersistentCollection」でメソッド「getId」を呼び出そうとしました。500 内部サーバー エラー - UndefinedMethodException
私は過去に特定の時間にこれを行いました。また、{{ item.stock.id }} を使用して小枝の在庫値にアクセスすることもできます ...
私は何を間違っていますか??