Hola, compañeros.
Tengo un problema al subir parte de la aplicación al servidor. concretamente un método del controlador web que realiza lo siguiente:
function inicio($modo){
$this->noticias_portada = $this->WNoticia->find("conditions: portada_sn = 'S'" , 'order: fecha' );
if (!isset($modo))
$this->set_response('view');
}
La excepción que me da el server es : "No existe el m?todo '__sleep' en ActiveRecord::w_noticia" (podéis verlo en "www.orquestaanagrama.es/ang").
El modelo w_noticia.php es el siguiente:
class WNoticia extends ActiveRecord {
}
He probado a utilizar un controlador que hereda de StandardForm y ahí el modelo me funciona correctamente. ¿Alguien sabe si el problema se debe a la versión de php5 o alguna opción del servidor?
Muchas gracias de antemano
Comentarios
Según dice la documentación de php (<!-- m --><a class="postlink" href="http://es2.php.net/manual/es/function.serialize.php">http://es2.php.net/manual/es/function.serialize.php</a><!-- m -->) durate la serialización de un objeto php ocurre lo siguiente:
El problema es que la clase ActiveRecord no contiene dicho método. Por tanto lo añadido para solucionar el problema:
NOTA: Lo que todavía sigo sin tener claro es cual es la diferencia entre el servidor y mi localhost. Quizá sea la versión de php.
Un saludo compañeros, espero que las trifulcas que voy posteando, aunque no haya podido ayudarme nadie sirvan a otros a pasar por alto el fango en el que yo me he metido. Hasta pronto.
deberia ser asi:
Si quieres que el valor "1" que envias este definido, porque por lo que veo $modo, no esta definido en ningun lugar.
Por el poco codigo que muestras tb observe que el nombre de tu modelo no concuerda con el de tu tabla, tu le agregaste un '_' demas, es decir el nombre del modelo debe ser igual al de la tabla, pero todo escrito en minusculas. Bueno esto es todo en cuanto a la informacion que nos das. si sigues teniendo problemas, brindanos mas informacion de LO QUE TU QUIERES QUE HAGA Y EL COMO.para asi poder ayudarte mejor, y bueno algo de codigo siempre ayuda a comprender mas los problemas.
saludos
Respecto al cambio que propones del nombre del parámetro ($id), no entiendo cual es el motivo. El parámetro modo, sólamente lo estoy utilizando para diferenciar cuando la llamada a ese método se realiza mediante una petición ajax "inicio()" o por la redirección desde otro método inicio(1). Estoy seguro que hay alguna otra solución pero es la primera que tomé. Estoy abierto a sugerencias.
Respecto a la diferencia de nombre de modelo con el fichero php, decidí utilizar _ porque me parece más claro de leer (quizá poque estoy acostumbrado así) y me encontré con que no podía llamar a la clase W_noticia porque provocaba un error, en cambio llamándola WNoticia funcionaba.
Y volviendo al mensaje que posteé como solución. ¿Estás al tanto si la llamada al método ___sleep depende de la versión de php?
Muchas gracias por tu ayuda.Hasta pronto.
saludos