No pasa variables desde controllers a views

Hola a todos, estoy haciendo un ejemplo simple y estoy renegando porque no me anda.-

en el controller tengo:
     public function saldo($id){
            $this->prueba=55;
            // buscar los pagos pendientes del cliente
            $this->m = $this->Miembro->find_first($id);
//////////////// sigue y sigue
}

y en la vista tengo
<? content() ?>
<h1>Saldo del miembro '<?= $m->nombre . $prueba ?>'</h1>
<!--  Sigue y sigue -->

y me contesta lo siguiente:
Notice: Undefined variable: m in C:\wamp\www\adlog\apps\default\views\miembro\saldo.phtml on line 2

Notice: Trying to get property of non-object in C:\wamp\www\adlog\apps\default\views\miembro\saldo.phtml on line 2

Notice: Undefined variable: prueba in C:\wamp\www\adlog\apps\default\views\miembro\saldo.phtml on line 2
no se porque no me pasa las variables!!!!
Muchas gracias

Comentarios

  • En la vista utilizar $m y no asi $m->nombre.
    Saludos
  • Hola hazle un print_r a la variable $m...
    print_r($m);
    
    Esto para evaluar que te devuelve la consulta...
  • edited 1:59
    Hice las pruebas que me propusieron, pero no hay resultado, en ambas me dio:
    Notice: Undefined variable: m in C:\wamp\www\adlog\apps\default\views\miembro\saldo.phtml on line 2
    
  • Despues de
    $this->m = $this->Miembro->find_first($id);
    coloca
    echo "<pre>";
    print_r($this->m);
    echo "</pre>";
    y mira que obtienes.
  • edited 1:59
    lo, hice y me salio :
    Miembro Object
    (
        &#91;db&#93; =&gt; DbMySQL Object
            (
                &#91;id_connection&#93; =&gt; Resource id #111
                &#91;last_result_query&#93; =&gt; Resource id #115
                &#91;last_query&#58;private&#93; =&gt; SELECT id,logia_id,matricula,apellido,nombre,dni,cap_at FROM miembro WHERE id = '1'
                &#91;db_user&#58;private&#93; =&gt; root
                &#91;db_host&#58;private&#93; =&gt; localhost
                &#91;db_pass&#58;private&#93; =&gt; 
                &#91;db_name&#58;private&#93; =&gt; adlog
                &#91;db_port&#58;private&#93; =&gt; 3306
                &#91;db_dsn&#58;private&#93; =&gt; 
                &#91;last_error&#93; =&gt; 
                &#91;debug&#93; =&gt; 
                &#91;logger&#93; =&gt; 
                &#91;dbLogger&#58;private&#93; =&gt; 
            )
    
        &#91;mode&#58;protected&#93; =&gt; 
        &#91;schema&#58;protected&#93; =&gt; 
        &#91;source&#58;protected&#93; =&gt; miembro
        &#91;count&#93; =&gt; 
        &#91;fields&#93; =&gt; Array
            (
                &#91;0&#93; =&gt; id
                &#91;1&#93; =&gt; logia_id
                &#91;2&#93; =&gt; matricula
                &#91;3&#93; =&gt; apellido
                &#91;4&#93; =&gt; nombre
                &#91;5&#93; =&gt; dni
                &#91;6&#93; =&gt; cap_at
            )
    
        &#91;primary_key&#93; =&gt; Array
            (
                &#91;0&#93; =&gt; id
            )
    
        &#91;non_primary&#93; =&gt; Array
            (
                &#91;0&#93; =&gt; logia_id
                &#91;1&#93; =&gt; matricula
                &#91;2&#93; =&gt; apellido
                &#91;3&#93; =&gt; nombre
                &#91;4&#93; =&gt; dni
                &#91;5&#93; =&gt; cap_at
            )
    
        &#91;not_null&#93; =&gt; Array
            (
                &#91;0&#93; =&gt; id
                &#91;1&#93; =&gt; logia_id
            )
    
        &#91;_with_default&#93; =&gt; Array
            (
            )
    
        &#91;attributes_names&#93; =&gt; Array
            (
                &#91;0&#93; =&gt; id
                &#91;1&#93; =&gt; logia_id
                &#91;2&#93; =&gt; matricula
                &#91;3&#93; =&gt; apellido
                &#91;4&#93; =&gt; nombre
                &#91;5&#93; =&gt; dni
                &#91;6&#93; =&gt; cap_at
            )
    
        &#91;is_view&#93; =&gt; 
        &#91;debug&#93; =&gt; 
        &#91;logger&#93; =&gt; 
        &#91;persistent&#93; =&gt; 
        &#91;validates_length&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_numericality&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_email&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_date&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_uniqueness&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_inclusion&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_exclusion&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;validates_format&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;_in&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;_at&#58;private&#93; =&gt; Array
            (
                &#91;0&#93; =&gt; cap_at
            )
    
        &#91;where_pk&#58;private&#93; =&gt; 
        &#91;dumped&#58;private&#93; =&gt; 1
        &#91;dump_lock&#58;private&#93; =&gt; 
        &#91;data_type&#58;private&#93; =&gt; Array
            (
                &#91;id&#93; =&gt; int(10) unsigned
                &#91;logia_id&#93; =&gt; int(10) unsigned
                &#91;matricula&#93; =&gt; bigint(20)
                &#91;apellido&#93; =&gt; char(50)
                &#91;nombre&#93; =&gt; char(50)
                &#91;dni&#93; =&gt; char(15)
                &#91;cap_at&#93; =&gt; datetime
            )
    
        &#91;_has_one&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;_has_many&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;_belongs_to&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;_has_and_belongs_to_many&#58;private&#93; =&gt; Array
            (
            )
    
        &#91;parent_of&#93; =&gt; Array
            (
            )
    
        &#91;id&#93; =&gt; 1
        &#91;logia_id&#93; =&gt; 1
        &#91;matricula&#93; =&gt; 
        &#91;apellido&#93; =&gt; Martinez Echenique
        &#91;nombre&#93; =&gt; Javier
        &#91;dni&#93; =&gt; DNI 26446546
        &#91;cap_at&#93; =&gt; 2008-06-01 00&#58;00&#58;00
    )
    
    Lo que implica que lee la base de datos, pero no me pasa las variables $prueba ni $m
  • Ahora si colocas debajo del
    $this->m = $this->Miembro->find_first($id);
    lo siguiente
    echo $this->m->nombre;
    echo $this->m->apellido;
    echo $this->m->dni;
    o en la vista de esta manera:
    echo $m->nombre;
    echo $m->apellido;
    echo $m->dni;

    Te imprimir esos datos.
    Lo unico que se me ocurre es que el controlador es uno diferente al que deberia ser, en este caso debe ser "miembro".
    Asi:
    class MiembroController extends ApplicationController {
  • lo que sucede es que el metodo find() lo utilizas con condiciones este devuelve un array de Objetos ActiveRecord entonces hay que recorrerlo con un foreach asi este contenga un solo valor, caso contrario ocurre con el find_first() que devuelve solo un Objeto ActiveRecord.
  • edited 1:59
    Pero el VAlor $prueba es un int y no lo muestra!!!!
    estoy viendo si php.ini o httpd de apache es algun modulo
  • edited 1:59
    Eureka, lo encontré!!!!!!

    Creo que encontré el problema, y deberían chequear las herencias. Yo cree una clase miembro que se extiende de Seguridad que a su vez es extensión de StandardForm. Y de ese controller quería pasar variables desde el controller a la vista, estas variables no llegaban.
    Pero si a miembro_Controller le cambio la extends a ApplicationController, llegan perfectamente. Tienen que ver bien el tema de herencias desde ApplicationController a StandardForm o su defecto aclarar esto .-
    Por la dudas vercion 5.0
    P.D.: si quiero les mando mis fuentes para que prueben.-
  • en que versión hiciste esa implementacion?

    Envíame el código para verlo...

    deivinsontejeda (AT) kumbiaphp.com
Sign In or Register to comment.