2010-08-19 4 views
1

Y at-il quelque chose de similaire à enregistrer pour la tâche de mise à jour? Si je veux enregistrer un nouvel enregistrement, je le fais simplement:

$ data_from_post = $ _POST;
$ newUser = $ usersDb-> fetchNew();
$ newUser-> setFromArray ($ data_from_post);
$ newUser-> save();
Zend Framework DB update

Y a-t-il quelque chose pour la tâche de mise à jour?

Merci et meilleure considération.

Répondre

0
$where = $usersDb->getAdapter()->quoteInto('id = ?', data_from_post['id']); 
$usersDb->update($data_from_post, $where); 

En supposant que vous ayez un champ id dans votre tableau de messages. Fondamentalement, la mise à jour prend deux paramètres. Le tableau de mise à jour et une clause where.

voir Mise à jour des lignes dans un tableau in here

+0

Merci pour votre aide, j'avais fondé ici deux grandes façons de faire ce que je veux. Meilleures salutations. –

0

Vous voulez utiliser newUser- $> save() mais votre newUser $ doit se propager d'un usersDb- $> find ($ _ POST [ 'id']) ; au lieu d'un fetchNew(). Et, bien sûr, vous devrez mettre à jour $ newUser avec les nouvelles valeurs de $ _POST après l'instanciation. La méthode save() recherche les champs modifiés et les routes vers update() au lieu de insert();

+0

Wow, génial, je vais essayer de le faire! Et puis-je enregistrer un objet? Merci. –

+0

Bien sûr, c'est ce que vous faites dans votre même $ newUser-> save() ;. – allnightgrocery