我有一个名为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是自动生成的,所以我无法在上传类
中指定关系有没有办法删除关系并删除相应的项目。
现在,如果我要删除我的实体上传,它说我有一个外键约束(这是正常的),所以我试图直接从商店删除关系,但我不知道该怎么做
答案 0 :(得分: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并从db
中删除了约束