我正在尝试创建论坛,在树形结构中列出其主题。我正在使用以下Doctrine 2(在mysql上)实体来存储主题信息。
/**
* @ORM\Entity
*/
class ForumTopic extends \Kdyby\Doctrine\Entities\BaseEntity
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
public $id;
...
/**
* @ORM\ManyToOne(targetEntity="ForumTopic")
* @ORM\JoinColumn(name="ForumTopic", referencedColumnName="id", nullable=true)
* @var string
*/
public $parentTopic_id;
每个主题都有自己的ID,可以是另一个的孩子。如果是,则存储在parentTopic_id中。它有效,但每当我尝试删除主题时,都会出现此错误。
#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`sandbox`.`forum_comment`, CONSTRAINT `FK_65B81F1D8D182203` FOREIGN KEY (`ForumTopic`) REFERENCES `forum_topic` (`id`))
我尝试添加onDelete =" cascade"与" joinColumn"一起排队,但它没有帮助。 如何解决,所以我可以删除任何主题?