2012-04-09 4 views
0

Ich entwickle eine Anwendung in CakePHP. Ich muss IDs aller Zeilen erhalten, die mit updateAll() - Funktion in CakePHP aktualisiert wurden. Irgendwelche Vorschläge würden sehr geschätzt. Thanx ..Wie bekomme ich IDs der Zeilen aktualisiert von updateAll() -Funktion in CakePHP?

Ist das, was ich in meinem App Modell tun sollten

class AppModel extends Model { 

    var $infos = array(); 

    function updateAll($fields, $conditions = true) { 
     $this->$infos = $this->find('all', array('conditions' => $conditions)); 
     $return = parent::updateAll($fields, $conditions); 
     $this->afterUpdateAll(); 
     return $return; 
    } 


    function afterUpdateAll(){ 
     foreach ($this->$infos as $info) { 
      //do something 
     } 
    } 

} 

Wird diese Arbeit ..?

Antwort

1

Sie müssen eine find ausstellen, die die gleichen Bedingungen erfüllt, die Sie an updateAll übergeben haben.

Wenn die Aktualisierung von Betriebsdaten in einer der Spalten ändert sich in den Bedingungen verwendet werden, sollten Sie findvorupdateAll Aufruf verwenden.

+0

meine Frage bearbeitet haben überprüfen Sie bitte – Vineet

+0

@ vin.it, gibt es einen Haken auf dem Code, den Sie geschrieben, meine Antwort aktualisiert sehen. – bfavaretto

+0

yeah cool, nette Beobachtung .. meinen Code redigieren, überprüfen Sie es einfach .. – Vineet

0

Wenn Sie UPDATE uncial Reihen - Sie können nur SELECT sie wieder nach UPDATE

+0

habe meine Frage bearbeitet bitte überprüfen – Vineet

Verwandte Themen