|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 10 ![]() |
Salut
je bosse actuellement sur un back-office d'un site : j'affiche les enregistrements et je dois pouvoir les modifier ou supprimer ou en ajouter grâce aux liens Modifier, supprimer, ajouter : donc voila le code du controleur qui me pose problème lors de l'enregistrement : Code :
et quand je clique sur "Enregistrer !!" j'ai une jolie erreur qui sort : Fatal error: Call to undefined method Zend_Db_Table_Rowset::save() in /opt/lampp/htdocs/jardinDeLaColline/zr/modules/disponibilite/controllers/AdminController.php on line 41 Des idées sur ce problème ?? Merci d'avance |
||
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Taoufiq BenDéveloppeur Web Inscription : mai 2009 Messages : 465 ![]() |
Essai avec à la place de find()
Code :
fetchRow() retourne un objet de type Zend_Db_Table_Row ou il y a la method save. |
||
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Taoufiq BenDéveloppeur Web Inscription : mai 2009 Messages : 465 ![]() |
Pour respecter le Pattern MVC les requêtes vers la base doivent être séparer du C (Controller), c'est le travail des M (Models).
|
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 10 ![]() |
Merci
Apparemment j'ai toujours un problème avec save() : Fatal error: Call to a member function save() on a non-object in /opt/lampp/htdocs/jardinDeLaColline/zr/modules/disponibilite/controllers/AdminController.php on line 66 |
|
|
00
|
|
|
#5 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 680 ![]() |
Il te faut faire le save sur l objet row
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 10 ![]() |
Même en utilisant le fetchRow ca marche pas
|
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
La méthode "find()" retourne un rowset donc il te faut récupérer ton row avec la méthode "current()".
exemple : Code :
|
||
|
00
|
|
|
#8 | |||
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 680 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#9 | |||||||
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
Pardon, il est vrai que mon message était incomplet... Rectifions :
Comme le dit précédemment m4riachi, Citation:
Citation:
Voici un petit Citation:
Code :
$myRow = $table->find($id)->current(); Code :
Si tu veux plutôt utiliser "fetchRow()" tu peux tester l'existence de ton row comme cela : Code :
|
|||||||
|
00
|
|
|
#10 | |||
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 680 ![]() |
Justement c'est ce que je fais et j'attends ses réponses avant de poster de nouveau mais quand il faut rectifier j'en prend la peine car ce forum est trés peu modérer en ce moment donc il faut au moins que ceux qui répondent y mettent du leur.
Et si tu regarde bien sont problème ma réponse en fait partie car il tente soit de faire un save quelque chose qui n'est pas un row et cette méthode fonctionne sur un row. Pour rappel un row est une ligne d'un rowset donc en gros quand : ou Le retour est un rowset donc un ensemble de résultat, pour récupérer le premier il est possible d'y appliquer current() ou encore de le parcourir à travers d'un foreach ou chaque passage correspondra à un row il est également possible comme cela a déjà été précisé, d'utiliser Qui lui retourne un seul résultat correspond à un row Par contre ce genre de message est plus que bizarre de ta part : Citation:
pourquoi ne pas avoir fait : Code :
Cela dit il m'est également possible de dire des âneries et dans ce cas là me corriger. |
|||
|
|
00
|
|
|
#11 | |||||||||
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
La méthode "find()" ne renvoi pas un NULL si il n'y a pas d'enregistrement...
la doc sur "find()" Et je cite : Citation:
la doc sur les "Rowset" Je cite : Citation:
Citation:
Code :
méthode "find()" : Code :
Code :
Dans le cas présent, il serait donc bon que tu te corriges et peut-être devrions-nous avoir une discussion en MP pour éviter ce genre d'altercation dans de prochains topics. Je commence à trouver lassant de devoir me justifier et citer la doc pour toi, 5h4rk... |
|||||||||
|
00
|
Copyright © 2000-2012 - www.developpez.com