CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 16-07-2017 18:38:43

demiange
Crêpe Suzette
Date d'inscription: 16-07-2017
Messages: 6

requet dans un autre controller

Bonjour,

j'utilise authentification Auth.
J'ai besoin d'afficher les informations de l'utilisateur courant dans une vue d'un autre controller que le controller User.

je fais :

Code: php

  1.    public function information()
  2.     {
  3.      
  4.   $users = $this->Users->find()->select(['id', 'username', 'role'])->where(['id =' => $this->Auth->user('id')]);
  5.  
  6.  
  7.     }

Mais j'ai toujorus ce message d'erreur :
"Undefined variable: users [APP/Template\Membres\information.ctp, line 25]"

Une idée pourquoi ma vue ne connais pas la variable users ?

ctp :

Code: php

  1. <?php
  2. /**
  3.   * @var \App\View\AppView $this
  4.   */
  5. ?>
  6. <nav class="large-3 medium-4 columns" id="actions-sidebar">
  7.     <ul class="side-nav">
  8.         <li class="heading"><?= __('Actions') ?></li>
  9.         <li><?= $this->Html->link(__('Add Utilisateur'), ['action' => 'add']) ?></li>
  10.     </ul>
  11. </nav>
  12. <div class="Utilisateurs index large-9 medium-8 columns content">
  13.     <h3><?= __('Utilisateurs') ?></h3>
  14.     <table cellpadding="0" cellspacing="0">
  15.         <thead>
  16.             <tr>
  17.                 <th scope="col"><?= $this->Paginator->sort('id') ?></th>
  18.                 <th scope="col"><?= $this->Paginator->sort('username') ?></th>
  19.                 <th scope="col"><?= $this->Paginator->sort('role') ?></th>
  20.                 <th scope="col"><?= $this->Paginator->sort('created') ?></th>
  21.                 <th scope="col"><?= $this->Paginator->sort('modified') ?></th>
  22.             </tr>
  23.         </thead>
  24.         <tbody>
  25.             <?php foreach ($users as $user): ?>
  26.             <tr>
  27.                 <td><?= $this->Number->format($user->id) ?></td>
  28.                 <td><?= h($user->username) ?></td>
  29.                 <td><?= h($user->role) ?></td>
  30.                 <td><?= h($user->created) ?></td>
  31.                 <td><?= h($user->modified) ?></td>
  32.             </tr>
  33.             <?php endforeach; ?>
  34.         </tbody>
  35.     </table>
  36.  
  37. </div>

Merci.

Hors ligne

 

#2 31-07-2017 22:35:58

cake17
Cooker
Date d'inscription: 29-03-2012
Messages: 381
Site web

Re: requet dans un autre controller

Bonjour,

Il faut que tu envoies ta variable dans la vue en ajoutant ceci dans ton controller:

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

Hors ligne

 

#3 15-08-2017 23:35:48

demiange
Crêpe Suzette
Date d'inscription: 16-07-2017
Messages: 6

Re: requet dans un autre controller

Bonjour,

j'avais trouvé une solution qui fonctionnait surement moins propre je vais essayé cette solution smile

Merci.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr