Empfehlungen: Erweiterte Suche

Edit Function übernimmt nicht alle Formulardaten vom View

Ausgabedaten formatieren und darstellen

Edit Function übernimmt nicht alle Formulardaten vom View

Beitragvon nico » So 28. Feb 2010, 14:30

Hi,
ich habe eine einfache Edit- Funktion in meinem Controller:
Code: Alles auswählen

function edit($id = null) {
            $this->set('SystemTypes', ClassRegistry::init('SystemType')->getList());
            $this->set('OsTypes', ClassRegistry::init('OsType')->getList());
            $this->System->id = $id;
            if(empty($this->data)) {
                $this->data = $this->System->read();
            } else {
                if($this->System->save($this->data)) {
                 
                    $this->Session->setFlash('The System has been updated.');
                    $this->redirect(array('action' => 'index'));
                }
            }
        }
 

Im View habe ich die Entsprechenden Formular Felder:
Code: Alles auswählen

<h1>Edit System</h1>
<?php
    echo $form->create('System', array('action' => 'edit'));
    echo $form->input('serial');
    echo $form->input('vc1s');
    echo $form->input('vc2s');
    echo $form->input('customer');
    echo $form->input('os');
    echo $form->input('pa');
    echo $form->input('ca');
    echo $form->input('id', array('type' => 'hidden'));
    $SystemTypesArray;
    foreach($SystemTypes as $SystemType) {
        $SystemTypesArray[$SystemType['SystemType']['value']] = $SystemType['SystemType']['value'];
    }
    echo $form->select('systemtype', $SystemTypesArray, NULL, NULL, false);

    $OsTypesArray;
    foreach($OsTypes as $OsType) {
        $OsTypesArray[$OsType['OsType']['value']] = $OsType['OsType']['value'];
    }
    echo $form->select('os', $OsTypesArray, NULL, NULL, false);

    echo $form->input('Files.1', array('type' => 'file', 'label' => 'Additional File'));

    echo $form->end('Save Changes');
?>
 

Wenn jetzt durch einen Click auf den Save Changes Button die Funktion im Controller aufgerufen wird, werden auch alle Daten die in der Datenbank stehen geändert. Nur leider kann ich im Controller nicht auf den Inhalt des Feldes Files.1 zugreifen. Ich dachte es würde so gehen:
Code: Alles auswählen

$this->data['Files']
 

Nur leider ist der Index Files unbekannt. Was ja auch kein Wunder ist, da das Array welches vom View an den Controller geht so aussieht:
Code: Alles auswählen

Array
(
    [System] => Array
        (
            [serial] => 123123722
            [vc1s] => 233322
            [vc2s] => 44554
            [customer] => Test Customer77
            [os] => Windows XP 64 Bit
            [pa] => PA-5584
            [ca] => PA-8874
            [id] => 1
            [systemtype] => Clipster 3rd
        )

)
 


Wie kann ich nun auf den Inhalt von Files.1 zugreifen bzw. auf den Array Files?


Vielen Dank & Grüße,
Nico
Brot für die Welt, Kekse für mich!!!
nico
 
Beiträge: 4
Registriert: Fr 26. Feb 2010, 16:04
Wohnort: Barsinghausen
CakePHP-Version: 1.2.6
OS: OS 10.6.2

Re: Edit Function übernimmt nicht alle Formulardaten vom View

Beitragvon nico » So 28. Feb 2010, 15:40

Oh man bin ich blöde. Ich habe den Fehler selbst gefunden. Ich hatte im View beim Form Create den type => file vergessen :oops:
Brot für die Welt, Kekse für mich!!!
nico
 
Beiträge: 4
Registriert: Fr 26. Feb 2010, 16:04
Wohnort: Barsinghausen
CakePHP-Version: 1.2.6
OS: OS 10.6.2


Zurück zu Views

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron