El problema es que el método, find_first() verifica si existe un
atributo llamado "schema" (línea 488 del archivo active_record.php),
esto llama al método __get de la clase "ActiveRecord"; y es este
método el que manda el error; ya que se quiere leer una propiedad
"schema", pero ésta no existe, la solución (por el momento) es agregar
public $schema; en la sección de atributos (en las primeras líneas de
la clase)
Esto me pasó con la versión 0.4.7
El código del método find_first, es:
public function find_first($what=''){
if(!$this->dumped) {
$this->dump();
}
if(!$this->db){
$this->db = db::raw_connect();
}
$this->db->debug = $this->debug;
$this->db->logger = $this->logger;
$params = get_params(func_get_args());
$select = "SELECT ";
if(isset($params)){
$select.= ActiveRecord::sql_sanizite($params);
} else {
$select.= join(",", $this->fields);
}
if($this->schema){
$select.= " FROM {$this->schema}.{$this->source}";
} else {
$select.= " FROM {$this->source}";
}
$select.= $this->convert_params_to_sql($params);
$resp = false;
if(!isset($params)){
$select.=$this->limit(1);
}
$result = $this->db->fetch_one($select);
if($result){
$this->dump_result_self($result);
$resp = $this->dump_result($result);
}
return $resp;
}
y el problema se da en la parte:
if($this->schema){
$select.= " FROM {$this->schema}.{$this->source}";
} else {
$select.= " FROM {$this->source}";
}
porque no existe el atributo $schema en la clase;
Comentarios
Otra cosa amigo pasa el codigo que tiene el metodo find_first()
Saludos