我有关联的问题。我有两张桌子:公司和用户。
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的公司被删除,但用户关联的不是。
你能帮帮我吗?
答案 0 :(得分:1)
没有依赖' belongsTo
中的选项,因此唯一实际工作的是另一种方式。
如果您删除用户,则会将其删除。
基本上,删除父母可以删除它的受抚养子女。但删除一个孩子不能删除它的依赖"父母(因为在Cake"依赖父母"的情况下确实没有这样的事情。)
此处有更多详情:http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html
您可以选择在两个方向上运行关联(要求每个表中的字段确定它属于哪个字段)。这样,无论你删除哪一个,它都应该总是删除另一个。
或者,您可以删除拥有该公司的用户。