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: 8

[RESOLU] 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: 382
Site web

Re: [RESOLU] 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: 8

Re: [RESOLU] 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