Salut,
J'ai fait une relation hasMany à mon model credit et un belongsTo dans mon model credit
Model user
public $hasMany = array('Credit');
Model Credit
public $belongsTo = array('User');
Dabs mon controller usersController :
public function profil($id){
$user = $this->User->find('first',array(
'conditions' => array('id'=>$id,'active'=>1),
'contain' => array('Credit')
));
$this->set(compact('user','credit'));
}
Je fait un débug ça me donne ça
array(
'User' => array(
'password' => ' *****',
'id' => '1',
'username' => 'musicalitymaker',
'mail' => 'm.a.l.musique@gmail.com',
'active' => '1',
'token' => '',
'role' => 'member',
'created' => '2013-05-29 00:00:00'
),
'Credit' => array(
(int) 0 => array(
'id' => '1',
'user_id' => '1',
'point' => '20'
)
)
)
<?= $credits'Credit']'point']; ?>
Le message d'erreur est qui ne reconnait pas la variable credits
Je veux afficher dans ma vue Profil.ctp le champ Points. Je ne sais pas comment pour récupéré le nom de point.
Merci de votre aide.
il est normal qu'il ne reconnait pas la variable $credit puisqu'elle n'existe pas.
Comme tu as fait une relation entre user et credit, de plus dans ton controller, tu y fait une recherche avec un contain : "credit", pour afficher les données de crédit, dans ta vue tu dois écrire :
<?= $user'Credit'][0]'point']; ?>
Bien entendu il faudrait faire un foreach($user'credit'] as $k=>$v) {....}