Ok if i understood your problem then you can do like this.
- First make a function in your model besuch like
public function calculateAverage($id) { $numerator=0; $denominator=0; $notes=Note::model()->findAllByAttributes(array('besuch_id'=>$id)); foreach($notes as $note) { $numerator=$numerator+($note->note*$note->wertung); $denominator=$denominator+$note->note; } $result=$numerator/$denominator; return $result; }
Now in your grid you can us it as
array(
'header' => 'Average',
'value' => '$data->calculateAverage($data->id)'
),