以下のコードを実行すると、次のエラーが発生します。
警告: foreach() に無効な引数が指定されました
$stock = $offerDetail->getStock();
foreach($stock as $s)
{
...
}
返される在庫はクラスofferDetailRepository です
これは、offerDetail で定義した関係です。
/**
* @ORM\OneToMany(targetEntity="OfferDetailStock", mappedBy="offerDetail", cascade={"remove"})
*/
protected $stock;
そしてOfferDetailStockで
/**
* @ORM\ManyToOne(targetEntity="Powershop\ApplicationBundle\Entity\OfferDetail", inversedBy="stock")
*/
protected $offerDetail;
OfferDetail で生成した関数の一部:
public function getStock()
{
return $this->stock;
}
public function setStock($stock)
{
$this->stock = $stock;
}
public function addStock($stock)
{
$this->stock[] = $stock;
}
そしてOfferDetailStockで
public function getOfferDetail() {
return $this->offerDetail;
}
public function setOfferDetail($offerDetail) {
$this->offerDetail = $offerDetail;
}
誰も手がかりを持っていますか?私の知る限り、関係は適切に定義されています。元々クラス Stock には ManyToMany の関係があったことを言及する必要があります。その後、中間のテーブルとして OfferDetailStock を作成しました。キャッシュをクリアし、スキームを更新しました。
事前にご協力いただきありがとうございます