CakePHP:删除用户会删除通过belongsTo关联的用户

CakePHP:删除用户会删除通过belongsTo关联的用户,cakephp,cakephp-1.2,Cakephp,Cakephp 1.2,我希望能够删除用户,但用户有一个管理员: var $belongsTo = array( 'Manager' => array( 'className' => 'User', 'foreignKey' => 'manager_id', 'conditions' => '', 'fields' => '', 'order' =>

我希望能够删除用户,但用户有一个管理员:

var $belongsTo = array(
        'Manager' => array(
            'className' => 'User',
            'foreignKey' => 'manager_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        ),
    );
每当用户被删除时,它的所有“子项”也会被删除

例如,假设我删除了用户A。用户A是用户B、C和D的管理者。删除A时,B、C和D也是如此,因为它们的
管理者id都是A

所以我的问题是——这应该发生吗?有什么方法可以防止这种情况发生吗


谢谢

阅读这本书,这是你想要的行为,你可以通过添加

'dependent' => false,
到关联配置数组

请参阅并搜索本页上的“依赖项”


我建议您使用2.0,如果它是一个新项目,1.2现在已经有很长一段时间不推荐使用了。

阅读本书,这是预期的行为,您可以通过添加

'dependent' => false,
到关联配置数组

请参阅并搜索本页上的“依赖项”


我建议您使用2.0,如果它是一个新项目,1.2现在已经很长时间不推荐使用了。

这是一个ACL问题-完全出乎意料。由于我们的用户使用管理器以树形结构操作,因此用户有一个
lft
rght
字段,该字段仅在
afterSave
中更新。简单的解决方案是通过将用户的
lft
rght
设置为
0
来分离用户,但经过深入思考,我将他们的
manager\u id
设置为
NULL
,并将其保存,以便树自身重新组织(通过
afterSave


哇。这就是问题所在。

这是一个ACL问题——完全出乎意料。由于我们的用户使用管理器以树形结构操作,因此用户有一个
lft
rght
字段,该字段仅在
afterSave
中更新。简单的解决方案是通过将用户的
lft
rght
设置为
0
来分离用户,但经过深入思考,我将他们的
manager\u id
设置为
NULL
,并将其保存,以便树自身重新组织(通过
afterSave


哇。这就是问题所在。

谢谢您的快速回复。
dependent
键似乎只适用于
hasOne
hasmall
关系。这不是一个新项目:P我同意。我正在使用2.1作为我的辅助项目,我发现自己笑得更多。既然删除是针对hasOne和hasMany的,那么你应该将这种关系重新表述为其他关系。hasMany=>manageduser。。这应该与burzum的评论配合起来谢谢你的快速回复。
dependent
键似乎只适用于
hasOne
hasmall
关系。这不是一个新项目:P我同意。我正在使用2.1作为我的辅助项目,我发现自己笑得更多。既然删除是针对hasOne和hasMany的,那么你应该将这种关系重新表述为其他关系。hasMany=>manageduser。。这应该符合burzum的评论