У меня возникла проблема с методом $this->delete()
, который удаляет запись из соответствующей модели. Раньше у меня был оператор, содержащийся в выражении if, который обнаруживал бы return false;
, возвращающийся с delete()
, а затем сбой.Ошибка метода меток CakePHP
Проблема в том, что она не срабатывает в течение 100% времени. Я прошел и дважды проверил отношения несколько раз, чтобы убедиться, что я позабочусь, и удалив все зависимости до удаления этой записи.
В настоящее время я удалил инструкцию из блока «if» и просто запустил ее независимо от того, что и работает без ошибок.
Если раньше я получал ложное сообщение, не должен ли я видеть какую-то ошибку?
Ex:
if ($this->customeDelete($id)) {
if ($this->ModelName->ModelName2->ModelName3->customDelete($id)) {
if ($this->ModelName4->deleteAll(array('foreign_id' => $id))) {
// Prior to this line, all deletes were successful. This is where it fails.
//The previous lines are custom model methods
if ($this->delete($id)) { // If statement that is failing
$this->commit();
return true;
}
}
}
}
Определяет ли ваша модель обратный вызов 'beforeDelete'? Вы видите инструкцию DELETE в трассировке SQL? – Joni
Как выглядел ваш блок 'if'? – bfavaretto
попробуйте с $ this-> Modelname-> delete ($ id); –