2010-04-12 6 views
0

J'ai eu un problème avec l'architecture du modèle de gâteau.Non-relation de travail

J'ai obtenu un modèle d'utilisateur et un modèle de métas. Voici les codes modèles:

Utilisateurs:

<?php 
class User extends AppModel { 

var $name = 'User'; 
var $validate = array(
    'username' => array('notempty'), 
    'email' => array('email'), 
    'password' => array('notempty') 
); 
    var $displayField = 'username'; 


var $hasMany = array(
     'Meta' => array(
      'className' => 'Meta', 
      'foreignKey' => 'user_id'   
     ) 
); 

} 
?> 

et METAS Modèle:

<?php 
class Meta extends AppModel { 

var $name = 'Meta'; 

//The Associations below have been created with all possible keys, those that are not needed can be removed 
var $belongsTo = array(
    'User' => array(
     'className' => 'User', 
     'foreignKey' => 'user_id', 
     'required' => true 
    ) 
); 

} 
?> 

Alors maintenant, la question est de savoir pourquoi je ne reçois les méta-données dans le tableau de l'utilisateur? Devrais-je l'obtenir dans l'objet Auth?

Où puis-je utiliser les métadonnées?

+1

Comment récupérez-vous le tableau? Si vous parlez du tableau $ _SESSION ['Auth'] ['User'], notez qu'il est uniquement défini lors de la connexion et n'inclut pas les modèles associés. Si vous imprimez ($ this-> User-> find (...)), il devrait afficher les informations Meta attachées. –

+0

ouais avec le $ this-> User-> trouver je reçois toutes les méta-données maintenant je veux obtenir les données eta de l'utilisateur connecté actuellement :) (dans chaque contrôleur ...) quelle est la meilleure façon de faire ce? greetz –

Répondre

0

Avez-vous essayé:

$currentUserData = $this->User->read(null,$this->Auth->user('id'));