diff --git a/lib/Cake/Model/Behavior/TreeBehavior.php b/lib/Cake/Model/Behavior/TreeBehavior.php index b4f807dec2e..6dea16dc63b 100644 --- a/lib/Cake/Model/Behavior/TreeBehavior.php +++ b/lib/Cake/Model/Behavior/TreeBehavior.php @@ -117,8 +117,10 @@ public function beforeFind($Model, $query) { */ public function beforeDelete($Model, $cascade = true) { extract($this->settings[$Model->alias]); - list($name, $data) = array($Model->alias, $Model->read()); - $data = $data[$name]; + $data = current($Model->find('first', array( + 'conditions' => array($Model->alias . '.' . $Model->primaryKey => $Model->id), + 'fields' => array($Model->alias . '.' . $left, $Model->alias . '.' . $right), + 'recursive' => -1))); if (!$data[$right] || !$data[$left]) { return true;