Pregunta

En las secciones_controller uso LoadModel para imprimir el nombre de usuario en las secciones/archivo de índice pero recibo error:
Aviso (8): Variable indefinida: Usuario [App Views Sections Index.ctp, línea 3

public function index ()
        {

       $this->loadModel('User');
      $user = $this->User->find('all');
       $this->Section->find('threaded', array('order' => array('Section.created ASC')));
       $this->set('data','user');
          }

En las secciones/índice

<div><?php echo $user['User']['username']; ?></div>
¿Fue útil?

Solución

No está asignando la variable correctamente, intente esto en su lugar:

$this->set('user', $user);

$user señalando su resultado de búsqueda y establecido como user, ya que eso es lo que estás tratando de llamar en tu opinión. O alternativamente usar el compact notación para lograr lo mismo:

$this->set(compact('user'));

Lo que estás haciendo ahora es establecer una variable llamada data con el valor de la cadena user, Entonces, cuando hicieras esto en tu opinión:

echo $data;

Volvería user como una cadena en tu vista.

EDITAR

Dado que un hallazgo ('all') devolverá una matriz, asegúrese de recurrir a los resultados en su vista también, así:

foreach($user as $u) {
    echo $u['User']['username'];
}

O si desea un resultado específico, llame a su clave de matriz, que para el primer usuario sería:

echo $user[0]['User']['username'];

Otros consejos

Tienes un error tipográfico, intenta:

$this->set('data',$user);

Y luego en tu opinión:

<div><?php echo $data['User']['username']; ?></div>

Espero que esto ayude !

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top