次のテーブルがあります。
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 コントローラには、foreign_key (address_id) に NULL 値があっても、追加/編集の使用$this->Model->save()
と更新の両方の 3 つの機能 (追加、編集、削除) があります。cacheCounter
しかし、削除機能を使用する$this->Model->delete
と、次のエラーが発生します。
UPDATE [addresses] SET [user_count] = 0 WHERE [id] IS N''
これは、foreign_key (address_id) の値が NULL であるためです。
このエラーの発生を防ぐために cacheScope に入れることができるものはありますか??
前もって感謝します。