Doctrine映射问题 - 在null上调用成员函数setValue()

时间:2017-06-06 13:43:00

标签: php symfony doctrine-orm doctrine

我对Doctrine有一个奇怪的问题。我已经设置了以下结构:

String regex = "^-?[0-9]+$";
if (s.matches(regex) {
    // it's a number  
} else {
   // not a number
}

/**
 * @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;
}   

然后我查询所有的returnProducts并执行以下操作:

/**
 * @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;
    }

由于foreach ($errorLogs as $eLog) { $errorDetails = $eLog->getDetails(); if ($errorDetails) { foreach ($errorDetails as $errorDetail) { $errorArticle = $errorDetail->getArticle(); } } } 我收到此错误:

$errorDetail->getArticle()

有谁知道为什么会出现这种错误以及如何修复它?我的映射有问题吗?一个ReturnedProducts有几个ReturnProductDetails。

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

您可以在您的班级中试用ReturnedProduct

mappedBy="returnedProduct" 

问候。