Yii Framework Forum: Crud Delete Action - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Crud Delete Action ist die fehlerhaft? Rate Topic: -----

#1 User is offline   sebi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 65
  • Joined: 06-October 08

Posted 30 July 2009 - 07:59 AM

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
0

#2 User is offline   Dave 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 187
  • Joined: 09-October 08

Posted 05 August 2009 - 03:47 AM

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

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

#3 User is offline   sebi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 65
  • Joined: 06-October 08

Posted 05 August 2009 - 06:40 AM

/** 	 
 * 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
0

#4 User is offline   Dave 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 187
  • Joined: 09-October 08

Posted 05 August 2009 - 07:39 AM

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

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users