2009-06-23 11 views
0

Ich benutze CakePHP Framework mit MySQL-Datenbank und ich habe Probleme beim Speichern eines bestimmten Wertes in der Datenbank. Ich habe eine Tabelle namens "Attribute" mit Feldern, ID, Form_ID, Label, Typ, Größe und Anweisungen. Wenn auf eine Verknüpfung geklickt wird, werden Standardwerte in der Tabelle für diese Felder gespeichert.Problem beim Speichern von Wert in der Datenbank

Jetzt habe ich eine neue Spalte namens 'erforderlich' in die Tabelle Attribute hinzugefügt. Sein Wert ist entweder 0 oder 1, also habe ich es ursprünglich als ein binäres Feld erstellt. Aber der darin gespeicherte war \ 0. Also habe ich es als Integer-Wert geändert und versucht, einen Standardwert wie 5 zu speichern, aber der darin gespeicherte Wert ist immer 0, d. H. Der Wert ändert sich nicht.

Es scheint albern, aber ich kenne den Grund nicht.Ich habe die Funktion unten angegeben. Der Wert aller anderen Felder wird mit Ausnahme des Felds "erforderlich" gespeichert. Bitte hilf mir jemand

function saveFieldEntries($data) 
    {  
     $this->data['Attribute']['form_id'] = $this->find('all', array(
            'fields' => array('Form.id'), 
            'order' => 'Form.id DESC' 
            )); 
     $this->data['Attribute']['form_id']=$this->data['Attribute']['form_id'][0]['Form']['id']; 

     $this->data['Attribute']['label']= 'Label'; 
     $this->data['Attribute']['size']='50'; 
     $this->data['Attribute']['instructions']='Fill it'; 
     $this->data['Attribute']['type']=$data['Attribute']['type']; 
     $this->data['Attribute']['sequence_no'] = $data['Attribute']['sequence_no']; 
     $this->data['Attribute']['required']='5'; 
     $this->Attribute->save($this->data); 
} 
+0

Haben Sie debug auf 2 (in app/config/core.php) gesetzt, um zu sehen, welche SQL-Anweisungen generiert werden? – dhofstet

Antwort

1

Auf einen Blick, Ihr Code sieht gut aus. Ist es möglich, dass Sie eine zwischengespeicherte Version des Modells haben, so dass CakePHP immer noch davon ausgeht, dass der Feldtyp binär ist?

Versuchen Sie, den Inhalt des Verzeichnisses/app/tmp/cache/models zu löschen.

+0

Ja, Sie haben Recht. Nachdem ich den Inhalt gelöscht habe, wird der Wert gespeichert. Vielen Dank. – Angeline

Verwandte Themen