我对其他人有相同的注释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
});