CakePHP3.2を使用しているのですが、Cake\ORM\Table::delete`によるデータの削除時に孫データまで削除することは可能でしょうか。
具体的には、下記のような設定と処理の際に、Usersの子データPostsと孫データとなるComments(Postsの子)を自動削除をしたいです。
設定
UsersTable
からhasMany
でPosts
モデルにアソシエーション設定PostsTable
からhasMany
でComments
モデルにアソシエーション設定UsersTable
→Posts
、PostsTable
→Comments
のアソシエーション共に'dependent'=> true,
を設定。
削除処理
- 任意のUsersのデータについて
$this->Users->delete($user)
現状では、Users
とそれに紐づくPosts
のデータは削除されるが、Comments
のデータまでは削除されない。
つまり、子データは削除されるが、孫データまでは削除されない状態です。
アソシエーションの設定のみで、孫データまで自動で削除する方法はありますでしょうか。
ご存知でしたらご教示のほどよろしくお願いいたします。
調べてみたこと、やってみたこと(そのソースコード)を具体的に追記してください。また参考先サイトがあればURLも質問に追記してください。既に見た先が回答についてしまうと無駄なやり取りが発生しますし、もしかしたら参考記事の理解が間違っているために解決に至れていないのかもしれません。https://teratail.com/help/question-tips#questionTips1-2
