1

I have problem with Doctrine collection. In PromoCodeTerm entity I have @OneToMany $days collection, but when doctrine delete items from this collection, generates SQL query with different column name, like a promoCodeTerm instead of promo_code_term_id.

class PromoCodeTerm {

    /**
     * @var string
     * @ORM\Column(name="id", type="guid")
     * @ORM\Id()
     */
    private $id;

    /**
     * @var PromoCodeTermDay[]
     * @ORM\OneToMany(targetEntity="AppBundle\Entity\PromoCode\PromoCodeTermDay", mappedBy="promoCodeTerm", cascade={"persist"}, orphanRemoval=true)
     */
    private $days;
}

class PromoCodeTermDay {

    /**
     * @var integer
     * @ORM\Column(name="day_id", type="integer")
     * @ORM\Id()
     */
    private $day;

    /**
     * @var PromoCodeTerm
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PromoCode\PromoCodeTerm", inversedBy="days")
     * @ORM\JoinColumn(name="promo_code_term_id", referencedColumnName="id", onDelete="CASCADE")
     * @ORM\Id()
     */
    private $promoCodeTerm;
}

What am I doing wrong?

An exception occurred while executing 'DELETE FROM `promo_code__promo_code_term_day` WHERE `day` = ? AND `promoCodeTerm` = ?' with params [1, \"c2fce03a-0507-47ca-a060-362cce683b06\"]:\n\nSQLSTATE[42S22]: Column not found: 1054 Unknown column 'promoCodeTerm' in 'where clause'
neattom
  • 364
  • 2
  • 7

0 Answers0