作者:33 | 来源:互联网 | 2023-02-01 23:08
我对Doctrine有一个奇怪的问题.我已经设置了以下结构:
/**
* @ORM\Entity
* @ORM\Table(name="fp_credit_returned_product")
*/
class ReturnedProduct {
...
/**
* @var FpCredit\Models\Credit\ReturnedProductDetail
* @ORM\OneToMany(targetEntity="\FpCredit\Models\Credit\ReturnedProductDetail", mappedBy="returned_product", cascade={"persist"})
*/
private $details;
public function getDetails() {
return $this->details;
}
public function setDetails($details) {
$this->details = $details;
}
和:
/**
* @ORM\Entity
* @ORM\Table(name="fp_credit_returned_product_detail")
*/
class ReturnedProductDetail {
/**
* @var FpCredit\Models\Credit\ReturnedProduct
* @ORM\ManyToOne(targetEntity="\FpCredit\Models\Credit\ReturnedProduct")
* @ORM\JoinColumn(name="returned_product_id", nullable=false, referencedColumnName="id")
*/
private $returnedProduct;
public function getReturnedProduct() {
return $this->returnedProduct;
}
public function setReturnedProduct($returnedProduct) {
$this->returnedProduct = $returnedProduct;
}
然后我查询所有的returnProducts并执行以下操作:
foreach ($errorLogs as $eLog) {
$errorDetails = $eLog->getDetails();
if ($errorDetails) {
foreach ($errorDetails as $errorDetail) {
$errorArticle = $errorDetail->getArticle();
}
}
}
因为$errorDetail->getArticle()
我得到这个错误:
PHP Fatal error: Call to a member function setValue() on null in /var/www/html/vendor/doctrine/orm/lib/Doctrine/ORM/PersistentCollection.php
有谁知道为什么会出现这个错误以及如何修复它?我的映射有问题吗?一个ReturnedProducts有几个ReturnProductDetails.
谢谢你的帮助!
1> fxlacroix..:
你可以在你的班级中试用ReturnedProduct吗?
mappedBy="returnedProduct"
问候.
现在它可以工作了,因此mapedBy需要变量名而不是列名。