1

ManyToMany リレーションがあり、MySQL から 1 つの関連アイテムを削除しようとすると、エラーでブロックされます。代わりに、Easyadmin から同じアイテムを削除しようとしてもブロックされません。

私の予想される動作は、Easyadmin (v. 1.16 with Symfony v. 3.3.10) によってもブロックされることです。助けてください...

これらは私の2つのエンティティです:

鉛:

[...]

/**
 * @ORM\ManyToMany(targetEntity="LeadInterest", inversedBy="leads")
 * @JoinTable(name="leads_interests",
 *     joinColumns={@ORM\JoinColumn(name="lead_id", referencedColumnName="id")},
 *     inverseJoinColumns={@ORM\JoinColumn(name="interest_id", referencedColumnName="id")}
 * )
 * @ORM\OrderBy({"interestName": "ASC"})
 */
private $interests = null;

[...]

public function __construct() {
    $this->interests = new ArrayCollection();
}

public function addInterest(LeadInterest $i) 
{
    if(!$this->interests->contains($i)) {
        $this->interests->add($i);
    }
}

public function removeInterest(LeadInterest $i)
{
    $this->interests->removeElement($i);
}

public function getInterests()
{
    return $this->interests;
}

[...]

主な関心:

[...]

/**
 * @ORM\ManyToMany(targetEntity="Lead", mappedBy="interests")
 */
private $leads;

[...]

public function __construct() {

    $this->leads = new ArrayCollection();
    $this->lastUpdate = new \DateTime();

}

public function addLead(Lead $lead)
{
    $this->leads[] = $lead;
    return $this;
}

public function removeLead(Lead $lead)
{
    $this->leads->removeElement($lead);
}

public function getLeads()
{
    return $this->leads;
}

[...]

これは、MySQL から une アイテムを削除しようとしたときのエラーです。

mysql> delete from leadInterest where id=6;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`app`.`leads_interests`, CONSTRAINT `FK_2135A27B5A95FF89` FOREIGN KEY (`interest_id`) REFERENCES `leadInterest` (`id`))

mysql> delete from lead where id=88;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`app`.`leads_interests`, CONSTRAINT `FK_2135A27B55458D` FOREIGN KEY (`lead_id`) REFERENCES `lead` (`id`))

ありがとう

4

1 に答える 1