2010-07-23 6 views
0

J'ai un modèle (amis), où l'utilisateur peut exporter les informations de son ami à partir de facebook. Je veux enregistrer les informations d'amis (identifiant et nom) dans la base de données mysql.Comment enregistrer plusieurs enregistrements individuels pour un seul modèle

Je rencontre des difficultés pour créer un formulaire pour le même formulaire, car je ne connais pas le nombre exact d'amis pour chaque utilisateur.

Existe-t-il un moyen plus simple de sauvegarder les amis de l'utilisateur dans la base de données? (enregistrer plusieurs enregistrements pour le même modèle)

Répondre

0

Fondamentalement, vous devez savoir combien est le nombre d'amis pour l'utilisateur actuel, non?

Si oui, faites une boucle avec suivante dans votre vue:

echo $this->Form->create('User'); 
for($i=0;$i<$number_of_current_user_friends;$i++){ 
    echo $this->Form->input('Friend.'.$i.'user_id', array('value'=>$current_user_id)); 
    echo $this->Form->input('Friend.'.$i.'friend_name', array('value'=>$friends[$i]['name'])); 
    echo $this->Form->input('Friend.'.$i.'fb_id', array('value'=>$friends[$i]['fb_id'])); 
} 
echo $this->Form->end('Submit'); 

puis dans le contrôleur de l'enregistrer avec:

$this->Friend->saveAll($this->data); 
+0

ce soit écho shouldnt $ this-> form-> entrée ('Friend.'. $ I. '. User_id', array ('value' => $ current_user_id)); –

Questions connexes