相关疑难解决方法(0)

在使用doctrine2删除级联时

我试图做一个简单的例子,以便学习如何从父表中删除一行,并使用Doctrine2自动删除子表中的匹配行.

这是我正在使用的两个实体:

Child.php:

<?php

namespace Acme\CascadeBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="child")
 */
class Child {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    /**
     * @ORM\ManyToOne(targetEntity="Father", cascade={"remove"})
     *
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="father_id", referencedColumnName="id")
     * })
     *
     * @var father
     */
    private $father;
}
Run Code Online (Sandbox Code Playgroud)

Father.php

<?php
namespace Acme\CascadeBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="father")
 */
class Father
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
}
Run Code Online (Sandbox Code Playgroud)

这些表是在数据库上正确创建的,但是没有创建On Delete Cascade选项.我究竟做错了什么?

php cascading-deletes symfony doctrine-orm

218
推荐指数
2
解决办法
14万
查看次数

标签 统计

cascading-deletes ×1

doctrine-orm ×1

php ×1

symfony ×1