Empfehlungen: Erweiterte Suche

save mit conditions

Datenbankobjekte strukturieren und validieren

save mit conditions

Beitragvon klausKinski » Sa 28. Nov 2009, 22:17

phhhuuu ich habs geschafft mich zu registrieren nach 4 Versuchen an dem Bestätigungscode vorbeizukommen, der scheint für Menschen genau so schwer entzifferbar zu sein wie für Robots.

Naja jedenfalls Hallo :)

ich bin leider ein absoluter Cake-nubi und aus der Docu werde ich gerade nicht schlau...
es geht um folgendes.

Ich will mit save meine Daten speichern aber nur wenn ein Feld einen bestimmten Wert hat. Leider bekomm ich das nicht gebacken.
Kann mir da jemand helfen ?

Code: Alles auswählen

if($this->Newsletter->save($this->data,false,array('Newsletter.end_time = '.$this->data['Newsletter']['end_time']))){
    $this->Newsletter->logMessage('Newsletter gepeichert');
}else{
    $this->Newsletter->logMessage("Der Newsletter konnte nicht gespeichert werden !!!");
}
 

Quasi soll da irgendwie sowas rauskommen...
"UPDATE newsletters SET .... WHERE newsletters.end_time=".$this->data['Newsletter']['end_time'].""


Also wie ihr vielleicht seht möchte die Daten nur speichern wenn die end_time gleich meiner Daten ist und natürlich möchte ich hier die $validate umgehen deshalb ist der 2. Parameter false. Soviel zur Theorie, ich denk mal da bin ich absolut auf dem Holzweg und hab die Docu kein bisschen verstanden.
klausKinski
 
Beiträge: 2
Registriert: Sa 28. Nov 2009, 21:53

Re: save mit conditions

Beitragvon mbrod » Sa 28. Nov 2009, 23:53

Also wie ihr vielleicht seht möchte die Daten nur speichern wenn die end_time gleich meiner Daten ist und natürlich möchte ich hier die $validate umgehen deshalb ist der 2. Parameter false.

Das erscheint mir der Widerspruch! Wenn das UPDATE entsprechend deiner Where-Klausel fehlschlägt, würde der Benutzer nicht darüber informiert. Validate scheint mir da doch das geeignete Mittel zu sein.
mbrod
 
Beiträge: 199
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: save mit conditions

Beitragvon euromark » So 29. Nov 2009, 02:06

du hast echt die save() parameter etwas verdreht...
fieldList ist die whiteList der erlaubten datenbankfelder und nich die conditions^^

Model: var $validate benutzen für solche dinge
euromark
 
Beiträge: 643
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: save mit conditions

Beitragvon klausKinski » So 29. Nov 2009, 11:04

das Problem mit var $validate ist ja dass mir eine eine Regel wie ich sie in dieser Methode bräuchte an anderer Stelle wie im Weg stehen würde. Eventuell ist save auch nicht das richtige für mich an dieser Stelle.
klausKinski
 
Beiträge: 2
Registriert: Sa 28. Nov 2009, 21:53

Re: save mit conditions

Beitragvon euromark » So 29. Nov 2009, 16:10

dann manuell vorher:

$this->Model->set($this->data);
if (!..) { $this->Model->invalidate(field, errormessage); } else { $this->Model->save(); }
euromark
 
Beiträge: 643
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast