删除动态声明的字段上的 CASCADE
Delete CASCADE on field declared dynamically
我有那个构造函数
/**
* User constructor.
*/
public function __construct()
{
$this->projectUser = new ArrayCollection();
$this->skills = new ArrayCollection();
$this->goals = new ArrayCollection();
$this->technicalReferentOf = new ArrayCollection();
parent::__construct();
}
并且 technicalReferentOf
变量是动态声明的。
它链接到仅包含外键的 table :
user_id |project_id |
--------|-----------|
46 |3 |
46 |13 |
69 |3 |
但是当我想删除一个用户时,我有一个外键错误,我无法通过级联删除来解决,因为没有字段。
解决该问题的正确方法是什么?提前致谢
您需要对加入的 table 指定 CASCADE
ON DELETE
约束。我鼓励对 user_id
和 project_id
都这样做(分配的项目可以删除,对吧?)。
在不知道使用哪个数据库供应商的情况下,我无法编写确切的查询来修改您 table,但如果您需要帮助,请在您的问题中提供更新...
希望这对您有所帮助...
我有那个构造函数
/**
* User constructor.
*/
public function __construct()
{
$this->projectUser = new ArrayCollection();
$this->skills = new ArrayCollection();
$this->goals = new ArrayCollection();
$this->technicalReferentOf = new ArrayCollection();
parent::__construct();
}
并且 technicalReferentOf
变量是动态声明的。
它链接到仅包含外键的 table :
user_id |project_id |
--------|-----------|
46 |3 |
46 |13 |
69 |3 |
但是当我想删除一个用户时,我有一个外键错误,我无法通过级联删除来解决,因为没有字段。
解决该问题的正确方法是什么?提前致谢
您需要对加入的 table 指定 CASCADE
ON DELETE
约束。我鼓励对 user_id
和 project_id
都这样做(分配的项目可以删除,对吧?)。
在不知道使用哪个数据库供应商的情况下,我无法编写确切的查询来修改您 table,但如果您需要帮助,请在您的问题中提供更新...
希望这对您有所帮助...