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 :
(j'ai utilisé setValue car populate ne voulait pas fonctionner )Code:
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()); } } }
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 ?? :cry:
Merci d'avance :)