猿问

关于使用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;

}

父亲.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;

}

这些表已在数据库上正确创建,但未创建“删除级联”选项。我究竟做错了什么?


慕尼黑的夜晚无繁华
浏览 430回答 2
2回答
随时随地看视频慕课网APP
我要回答