Сбой метода модели CakePHP delete () - PullRequest
0 голосов
/ 26 марта 2012

У меня возникла проблема с методом $this->delete(), который удаляет запись из соответствующей модели.Ранее у меня было утверждение, содержащееся в операторе if, который обнаружил бы return false;, возвращающийся из delete() и затем завершившийся неудачей.

Проблема в том, что он терпит неудачу 100% времени.Я несколько раз проверил и дважды проверил отношения, чтобы убедиться, что я забочусь, и удаляю все зависимости перед удалением этой записи.

В настоящее время я удалил утверждение из "если"заблокировать и просто заставить его исполниться несмотря ни на что, и он работает без ошибок.

Если я получал ложное возвращение раньше, разве я не должен видеть какую-то ошибку?

Пример:

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;
            }
        }
    }
}

1 Ответ

0 голосов
/ 26 марта 2012

Похоже, вы звоните $this->cutomDelete на запись, которую хотите удалить, а затем $this->delete на той же записи. Если customDelete уже удалил данные, то удалить не нужно будет ничего удалять и, следовательно, вернет false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...