Crud Delete Action

Huhu Leute,

bin da gerade mal wieder über ein Problem gestolpert,

und zwar habe ich wie im guide beschrieben die Application angelegt und auch ein

usermodel bzw. ein usercrud erstellt, anschliessend habe ich den login so umgebaut das

eine mysql datenbank verwendet wird, was soweit auch ganz super funktioniert, jetzt

aber zum Problem:

Die Delete Action:




/** 	 

 * Executes any command triggered on the admin page. 	 

 */ 	

 protected function processAdminCommand() 	

 { 		

   if(isset($_POST['command'], $_POST['id']) &&  $_POST['command']==='delete') 		  

   { 			

     $this->loaduser($_POST['id'])->delete(); 			

     // reload the current page to avoid duplicated delete actions 			 

     $this->refresh(); 

   } 	

 }

Das Problem hierbei ist, wenn ich einen user lösche, dann wird die seite kurz neu geladen, aber der user bleibt

trotzdem in der Liste, erst nach mehrfachem neuladen der Seite verschwindet er, gleiches habe ich aber auch

schon bei login/logut beobachtet, ab und an muss ich mich 2 mal einloggen/ausloggen.

Kann mir wer was dazu sagen? Ist das ein Bug? Der Code der das ganze managed ist immernoch der crud user code aus

dem guide, geändert habe ich lediglich die userIdentity und die new Action (passwort in sha256).

Edit: Ok scheint nicht an der DeleteAction zu liegen, wenn ich mich einlogge und dann

auf Logout klicke passiert auch rein gar nichts, erst wenn ich auf den Contact link

klicke bin ich ausgeloggt, jetzt muss ich nur noch rausfinden warum :(

Danke & Gruß

Sebi

Was macht denn $this->loaduser($_POST[‘id’]) ?

Kannst du davon mal den Code posten, es könnte sein, dass das null zurückliefert.




/** 	 

 * Returns the data model based on the primary key given in the GET variable. 	 

 * If the data model is not found, an HTTP exception will be raised. 	 

 * @param integer the primary key value. Defaults to null, meaning using the 'id' GET variable 	 

 */ 	

  public function loaduser($id=null) 	

  { 		

    if($this->_model===null)

    { 			

      if($id!==null || isset($_GET['id'])) 				           

      $this->_model=user::model()->findbyPk($id!==null ? $id :   

      $_GET['id']); 			 


      if($this->_model===null) 				

         throw new CHttpException(404,'The requested page does not exist.');

    }

    return $this->_model; 	

}

oha diese formatierungen hier immer :D

Ansonsten kannst auch einfach yiic webapp test mit anschliessendem model user / crud user ausführen,

dann hast exakt den code den ich jetzt habe.

Achso und ja das liefert null zurück, und zwar wenn ich den user vorher schon gelöscht habe, was ja auch klar ist. Die Exception wird dort auch korrekt abgefangen.

Nya ich mach erstma mit dem Blog Tut weiter bevor ich mir das Framework näher anschaue.

greetz

Das schon, aber ich hab gerade kein CLI am Start zum generieren :)