执行下面的代码会出现以下错误:
警告:为 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 作为介于两者之间的表。我确实清除了缓存并更新了方案。
提前感谢您的帮助