Buenos Dias..
Descripcion
Cuando creo un modelo con persistent=true, el código del modelo es:
<?php
class Traduccion extends ActiveRecord {
public $persistent = true;
}
?>
Me funciona correctamente , pero me salen dos lineas de warning:
Notice: Undefined variable: objModel in /var/www/gesproinf.es/datos/web/kumbia/library/kumbia/kumbia.php on line 655
Notice: Undefined index: in /var/www/gesproinf.es/datos/web/kumbia/library/kumbia/kumbia.php on line 409
Tengo la versión 0.5 candidate RC3 la última version...
Solución:
La funcion function_init_models , de el fichero library/kumbia/kumbia.php, la linea 655 como dice el warning:
if (isset(self::$models[$object_model]->persistent)) {
if (self::$models[$object_model]->persistent) {
//self::$_persistence[] = $objModel;
self::$_persistence[] = $object_model;
}
Tiene esta variable $objModel y tiene que ser $object_model...como he puesto aqui..
Saludos
/**
* Inicializa los modelos en el directorio models
*
*/
private static function _init_models($models_dir) {
foreach(scandir($models_dir) as $model) {
if (!in_array($model, array('.', '..', 'base'))) {
if (is_dir($models_dir . "/" . $model)) {
self:GDN_init_models($models_dir . "/" . $model);
}
}
if (ereg("\.php$", $model)) {
require_once "$models_dir/$model";
$model = str_replace(".php", "", $model);
$object_model = str_replace("_", " ", $model);
$object_model = ucwords($object_model);
$object_model = str_replace(" ", "", $object_model);
if (!class_exists($object_model)) {
throw new KumbiaException("No se encontró la Clase \"$object_model\"", "Es necesario definir una clase en el modelo
'$model' llamado '$object_model' para que esto funcione correctamente.");
} else {
self::$models[$object_model] = new $object_model();
if (!is_subclass_of(self::$models[$object_model], "ActiveRecord")) {
throw new KumbiaException("Error inicializando modelo \"$object_model\"", "El modelo '$model' debe ser una clase o sub-clase de ActiveRecord");
}
if (!self::$models[$object_model]->get_source()) {
self::$models[$object_model]->set_source($model);
}
if (isset(self::$models[$object_model]->persistent)) {
if (self::$models[$object_model]->persistent) {
//self::$_persistence[] = $objModel;
self::$_persistence[] = $object_model;
}
}
}
}
}
foreach(self::$_persistence as $p) {
if (Session::get_data($p)) {
self::$models[$p] = Session::get_data($p);
}
}
}
Comentarios
[1]->http://tools.assembla.com/kumbia/newticket