2016-02-24 1 views
0

Je veux récupérer une requête dans view/default.ctp ($ this-> User-> find ("count");). Cette requête est commune à toutes les pages. Maintenant, j'appelle cette requête dans toutes les pages. Est-ce qu'il existe une autre façon d'appeler une requête en un seul temps et récupérer des données dans default.ctp. J'utilise cakephp 2x.Comment appeler une requête dans default.ctp

Répondre

0

dans appController il y aurafonction sinon, le créer et écrire ce qui suit à l'intérieur.

$this->loadModel('User'); 
$userCount = $this->User->find("count"); 
$this->set('userCount',$userCount); 

maintenant, vous serez en mesure d'accéder à la variable $userCount dans default.ctp ou tout autre point de vue

1

Mettez dans votre AppController::beforeRender().

beforeRender sera appelée à chaque fois avant que quelque chose ne soit rendu. Je ne sais pas pourquoi tout le monde suggère avant Filtrer ... C'est assez clair.

See the documentation.

public function beforeRender(){ 
    parent::beforeRender(); 
    $this->loadModel('User'); 
    $this->set('userCounter',$this->User->find("count")); 
} 
0

Vous pouvez appeler cette méthode requête en AppController::beforeFilter par exemple. Ensuite, vous pouvez attribuer résultat à une variable $this->set('userCounter',$this->User->find("count")) Cette variable $userCounter pourrait être disponible dans une vue

<?php 
    public function beforeFilter(){ 
     parent::beforeFilter(); 
     $this->loadModel('User'); 
     $this->set('userCounter',$this->User->find("count")); 
    } 
?>