外键为NULL时,cacheCounter错误

时间:2013-06-04 21:20:07

标签: php cakephp

我有以下表格:

Users (
    id [PK]
    address_id [FK]
)

Addresses(
    id [PK]
    users_count
)

以下模型关联:

Addresses $haveMany Users
Users $belongsTo Addresses (cacheCounter => true)

Users表上的address_id [FK]允许NULL值。

在Users控制器中我有3个函数(添加,编辑,删除),添加/编辑使用$this->Model->save()cacheCounter更新都可以,即使在foreign_key中使用NULL值(address_id)

但删除功能使用$this->Model->delete,我收到以下错误:

 UPDATE [addresses] SET [user_count] = 0 WHERE [id] IS N''

这是由于foreign_key(address_id)具有NULL值。

我可以将任何内容放入cacheScope以阻止此错误发生吗?

提前致谢。

1 个答案:

答案 0 :(得分:-1)

应用程序/ LIB /蛋糕/型号/ Model.php 1963年线

我将updateAll函数包装在:

if(!empty($ keys [$ foreignKey])){

努力享受。