Gridview Filter Funktioniert Nicht

Hallo,

ich habe eine Seite _form.php mit den Eingabefeldern einer Tabelle Komponisten.

Auf der gleichen View unterhalb des Formulars zeige ich mit CGridView die über folgende Relation verknüpften Noten des im Formular angezeigten Komponisten Datensatzes:




public function relations() {

   return array(

      'Werke'=>array(self::HAS_MANY, 'Noten', 'Komponist_Id'),

   );

}

Die Anzeige der Noten-Datensätze in der GridView funktioniert, auch das Sortieren durch Klick auf die Spaltenüberschriften funktioniert. Was ich aber bisher nicht hinbekommen habe, ist das Filtern mit der GridView.

Hier ein Codeausschnitt aus dem Widget:




$this->widget('zii.widgets.grid.CGridView', array(

   'id'=>'noten-grid',

   'dataProvider'=>$notenData,

   'filter'=>$modelNoten,

   'columns'=>array( ...

Der Controller Code der Update Action schaut so aus:


	

public function actionUpdate($id) {

   $model = $this->loadModel($id);

   $modelNoten = New Noten;

   $notenData = $modelNoten->search("Komponist_Id", $id);


   $modelNoten->unsetAttributes(); 

   if(isset($_GET['Noten'])) $modelNoten->attributes=$_GET['Noten'];

        ...

	$this->render('update',array(

 	   'model' => $model,

           'modelNoten' => $modelNoten,

           'notenData' => $notenData, 

	));

}



Nach Eingabe eines Filterbegriffs und Drücken der TAB Taste wird nicht gefiltert.

Fehler gefunden. Der Fehler lag am Anfang des Controller Codes. Hier die korrigierte Version:


	

public function actionUpdate($id) {

   $model = $this->loadModel($id);

   $modelNoten = New Noten('search');

   $modelNoten->unsetAttributes();

   if(isset($_GET['Noten'])) $modelNoten->attributes=$_GET['Noten'];


   $notenData = $modelNoten->search("Komponist_Id", $id);

   ...



Verstehe es zwar nicht ganz, aber es funktioniert jetzt.