Php Yii计算模型值

Php Yii计算模型值,php,yii,Php,Yii,好的,我的Yii型号有问题。我在表“besuch”和“note”之间有一个1:m的关系 注: 贝苏克: id_besuch user_id fach_id ... 1 1 1 现在我想创建一个“besuch”的gridview。在此gridview中,一列应为“平均”。该平均值的计算方法如下: average = all(note.note * note.wertung) / Sum(note.wertung) where id_be

好的,我的Yii型号有问题。我在表“besuch”和“note”之间有一个1:m的关系

注:

贝苏克:

id_besuch   user_id   fach_id    ...
    1          1         1
现在我想创建一个“besuch”的gridview。在此gridview中,一列应为“平均”。该平均值的计算方法如下:

average = all(note.note * note.wertung) / Sum(note.wertung) 

where id_besuch = besuch_id
array(
    'name' => 'average',
    'value' => '$data->average'
),
例如:

average = (4 * 0.5 + 5 * 1 + 4.5 * 2) / 0.5 + 1 + 2 = 
16 / 3.5 = 
4.571...
现在,我想在gridView中实现此函数,如下所示:

average = all(note.note * note.wertung) / Sum(note.wertung) 

where id_besuch = besuch_id
array(
    'name' => 'average',
    'value' => '$data->average'
),
我知道这只是我想要的东西的抽象表示

有人有好主意吗?或者有人能说我需要在哪里实现这样的函数吗


谢谢

好的,如果我理解你的问题,那么你可以这样做

  • 首先在模型中创建一个函数,如下所示
  • 现在在你的网格中,你可以将其作为

    array(
        'header' => 'Average',
        'value' => '$data->calculateAverage($data->id)'
    ),
    

    你们需要计算和besuch有关的所有笔记的平均值吗?是的,我试着用where来表示感谢。我会尽快尝试。好的,一定要让我知道,但是你可能需要根据你的型号做一些改变。就像我已经将$data->id传递给函数一样,但是您可能需要传递一个不同的参数。我不知道确切的属性名称。这应该不是问题,谢谢。我会告诉你我试过了。