2009-10-01 24 views
0

Poster hasMany Tag: Ma forme:Ajout de données avant d'enregistrer dans CakePHP

$form->input('Post.title'); 
... 
$form->input('Tag.0.name'); //1st tag 
$form->input('Tag.1.name'); //2nd tag 

Cela fonctionne parfaitement, mais ...

Je crée des champs Tag.n.name, et je veux ajouter chaque fois une étiquette par $this->data['Tag'][some_number]['name'] = 'all';
Ne me demandez pas pourquoi je veux cela, mais dites-moi comment je peux ajouter «tout» tag dans mon modèle à chaque poste?

Ceci devrait avoir un effet 4 INSERT sqls: un ajout, et trois: 1st tag, 2nd tag, tous tag.

Plus d'explications: Comment ajouter plus de balises sans champs de formulaire? Comment ajouter des tags par défaut? Aucune entrée cachées, des solutions uniquement pro :)

+3

je suis confus .......... –

Répondre

5
$this->data['Tag'][] = array('name' => 'all'); 

Mettez ce soit dans votre contrôleur avant d'enregistrer $this->data ou dans le rappel beforeSave() du modèle.

Questions connexes