来自Doctrine ORM Cache的持久性集合中的未定义索引

时间:2018-02-27 17:44:10

标签: php doctrine-orm orm doctrine

我对其他人有相同的注释ManyToOne关系并且工作正常,但是这一个从doctrine缓存中发生了这个错误。我陷入了困境。这就像学说不知道inversedBy注释。

错误追踪:

file: /var/www/html/clipp/Backend/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php
line: 2917
message:    Undefined index: 000000003cb11e66000000006a2469c1

ClientPromotion实体:

<?php

namespace Application\Model;

use Doctrine\ORM\Mapping as ORM;

/**
 *
 * @ORM\Entity
 * @ORM\Table(name="ApplicationClientPromotion")
 * @ORM\Cache(usage="READ_WRITE")
 */
class ClientPromotion
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer");
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;


/**
 * @ORM\ManyToOne(targetEntity="Application\Model\Client", cascade={"all"}, inversedBy="phoneCollection")
 * @ORM\JoinColumn(name="client_id", referencedColumnName="id",onDelete="CASCADE")
 * @ORM\Cache(usage="NONSTRICT_READ_WRITE")
 *
 */
public $client;

客户实体:

/**
 *
 * @ORM\Entity
 * @ORM\Table(name="ApplicationClient"})
 * @ORM\Cache(usage="NONSTRICT_READ_WRITE")
 */
class Client
{
/* OTHER ATTRIBUTES */

/**
 * @ORM\OneToMany(
 *     targetEntity="Application\Model\ClientPromotion",
 *     mappedBy="client",
 *     cascade={"all"},
 *     orphanRemoval=true,
 *     fetch="EXTRA_LAZY")
 * @ORM\Cache(usage="NONSTRICT_READ_WRITE")
 * @var Doctrine\Common\Collections\Collection
 */
public $clientPromotionCollection;

当我调用一个闭包过滤集合时会发生错误:

$freePricePromotions = $client->clientPromotionCollection->filter(function ($entry) {
    // some logic
});

0 个答案:

没有答案