删除动态声明的字段上的 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_idproject_id 都这样做(分配的项目可以删除,对吧?)。

在不知道使用哪个数据库供应商的情况下,我无法编写确切的查询来修改您 table,但如果您需要帮助,请在您的问题中提供更新...

希望这对您有所帮助...