删除belongsTo关联无效

时间:2014-11-17 15:30:15

标签: cakephp model-associations belongs-to cascading-deletes

我有关联的问题。我有两张桌子:公司和用户。

User hasOne Company and Company belongsTo User (OneToOne)

在我的模特中,我写道:

/* User.php Model */
public $hasOne = array(
    'Company' => array(
        'className' => 'Company',
        'dependent' => true
    )
);

/* Company.php Model */
public $belongsTo = array(
    'User' => array(
        'className' => 'User',
        'dependent' => true
    )
);

我的问题:当我这样做时

$this->Company->delete($id, true)

在我的CompaniesController中,ID $ id的公司被删除,但用户关联的不是。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

没有依赖' belongsTo中的选项,因此唯一实际工作的是另一种方式。

如果您删除用户,则会将其删除。

基本上,删除父母可以删除它的受抚养子女。但删除一个孩子不能删除它的依赖"父母(因为在Cake"依赖父母"的情况下确实没有这样的事情。)

此处有更多详情:http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html


您可以选择在两个方向上运行关联(要求每个表中的字段确定它属于哪个字段)。这样,无论你删除哪一个,它都应该总是删除另一个。

或者,您可以删除拥有该公司的用户。