2012-01-24 11 views
5

si tengo un método saveAll torta php, así:¿Cómo veo que la base de datos cakephp guarda errores?

if ($this->Video->saveAll($this->data)){ 
    ... // stuff that never happens, sadly 
} else { 
    ... 
    $this->Session->setFlash('boo! hss! error here'); 
} 

¿Cómo se imprime el error de base de datos? Probé:

$this->Session->setFlash('boo! hss! error here' . print_r($this->Video->validationErrors,true); 

pero eso no funcionó (que sólo me mostraron una matriz vacía)

cheerio!

ACTUALIZACIÓN: ah. Entonces, el problema es que, mientras normalmente obtengo el error de la base de datos, estaba usando el viejo mecanismo prg, y cake no muestra (mágicamente) los errores db en las páginas de redirección.

Bastante, pero en el futuro, ¿cómo demonios estoy destinado a ver los errores de DB en una página de redirección (es decir, la pregunta sigue en pie, es solo que la mayoría de la gente probablemente solo ve el error, y no t tiene que hacer cualquier cosa para conseguirlo)

+0

Tal vez la función 'debug()' hace lo que necesita? – Joep

Respuesta

6
  1. asegurarse de depuración se establece en 2 en config core.php

  2. mensajes de error de impresión/el archivo de registro de este modo:

    $ este -> log (print_r ($ this-> Video-> validationErrors, true));

Cuestiones relacionadas