2012-02-06 4 views
1

J'ai deux modèles nommés message.php et user.phpCakePHP utiliser un autre modèle au sein de modèle

En message.php, je suit la méthode qui compte #no des messages des utilisateurs vérifiés.

<?php 
class Message extends AppModel { 
    ... 
    ... 
    ... 
    function getInboxCount($userId) { 
     // Here I want to get list of ids of verified users. It means I need to use User model for this. How is it possible? 
     // $ids = $this->User->find('list', array('conditions' => array('User.status' => 'verified'))); Will this work? 
    } 
} 
?> 

Alors, comment puis-je utiliser le modèle utilisateur dans le modèle de message?

Répondre

12

Si les deux modèles sont associés de quelque façon que (message belongsTo utilisateur ou si), vous pouvez accéder simplement avec:

$this->User->find(...); 

S'ils ne sont pas associés, vous pouvez importer tout autre modèle à tout time using:

$User = ClassRegistry::init('User'); 
$User->find(...); 
+4

Ceci est correct dans CakePHP <2.0, mais n'y a-t-il pas une autre méthode pour le faire dans CakePHP> = 2.0? – linkyndy

+1

vous pouvez utiliser le '$ this-> loadModel ('ModelName') suivant'; – gonzo

Questions connexes