2

我有一个名为 Upload 的实体和另一个名为 Shop

商店只能上传一个

class Shop
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var Upload
     *
     * @ORM\OneToOne(targetEntity="Vendor\SystemBundle\Entity\Upload",cascade={"all"})
     */
    private $myfile;
}

class Upload
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

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

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

    /**
     * @var string $uniqId
     *
     * @ORM\Column(name="uniqId", type="string", nullable=true)
     */
    private $uniqId;

    /**
     * @var integer $size
     *
     * @ORM\Column(name="size", type="integer", nullable=true)
     */
    private $size;

    /**
     * @var string $extension
     *
     * @ORM\Column(name="extension", type="string", nullable=true)
     */
    private $extension;
}

!因为我的类 Shop 是自动生成的,所以我无法在我的类上传中指定关系

有没有办法删除关系并删除相应的项目。

现在,如果我想删除我的实体上传,它说我有一个外键约束(这是正常的),所以我试图直接从 Shop 中删除关系,但我不知道该怎么做

4

1 回答 1

0

你是用php app/console doctrine:generate:entity命令生成的吗?

如果要删除关系,请删除部分

/**
 * @var Upload
 *
 * @ORM\OneToOne(targetEntity="Vendor\SystemBundle\Entity\Upload",cascade={"all"})
 */
private $myfile;

然后做

php app/console doctrine:generate:entities Your\Entity\Path\
php app/console doctrine:schema:update --force

所以它重新创建了getter和setter并从数据库中删除了约束

于 2012-06-27T20:41:09.550 回答