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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
public function saveAction()
{
	require_once 'modules/disponibilite/models/formulairedisponibilite.php';
	$this->view->titleedit = "Sauvegarder Article";
        $form = new FormulaireDisponibilite();
        $form->submit->setLabel('Enregistrer !!');
        $this->view->form = $form;
 
        if ($this->_request->isPost()) {
                 $formData = $this->_request->getPost();
                 if ($form->isValid($formData)) {
                         $disponibilite = new Disponibilite();
                         $id = (int)$form->getValue('id');
                         $row = $disponibilite->find($id);
                         $row->num_villa = $form->getValue('numvilla');
                         $row->type_villa = $form->getValue('typevilla');
	                 $row->surface_rdc = $form->getValue('surfacerdc');
                         $row->surface_etage = $form->getValue('surfaceetage');
			 $row->surface_habitable = $form->getValue('surfacehabitable');
                         $row->surface_plancher = $form->getValue('surfaceplancher');
			 $row->surface_jardin = $form->getValue('surfacejardin');
                         $row->surface_totale = $form->getValue('surfacetotale');
                         $row->save(); // La ligne qui pose Problème :@
 
                         $this->_redirect('/disponibilite/admin');
                 }
		 else {
                         $form->populate($formData);
                 }
         }
	 else {
                 $id = (int)$this->_getParam('id', 0);
                 if ($id > 0) {
                        $disponibilite = new Disponibilite();
                        $dispo = $disponibilite->find($id) ;
			$form->numvilla->setValue($dispo->num_villa) ;
			$form->typevilla->setValue($dispo->type_villa) ;
			$form->surfacerdc->setValue($dispo->surface_rdc) ;
			$form->surfaceetage->setValue($dispo->surface_etage) ;
			$form->surfacehabitable->setValue($dispo->surface_habitable) ;
			$form->surfaceplancher->setValue($dispo->surface_plancher) ;
			$form->surfacejardin->setValue($dispo->surface_jardin) ;
			$form->surfacetotale->setValue($dispo->surface_totale) ;
                        //$form->populate($dispo->toArray());
                 }
         }
}
(j'ai utilisé setValue car populate ne voulait pas fonctionner )

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