Сначала выполните debug( $grades )
, чтобы увидеть, где в структуре массива хранится среднее значение. Вы также можете назвать это как-нибудь еще в запросе, например SELECT AVG( grade ) AS average
.
Как примечание: вам не нужно использовать необработанный запрос (возможно, вопрос предпочтений, но я стараюсь избегать их, если это вообще возможно). Вы можете сделать
$this->Grade->find(
'all',
array(
'conditions' => array(
'Grade.user_id' => $id
),
'recursive' => 1,
'fields' => array(
'AVG( Grade.grade ) AS average',
// +whatever else you need
)
'group' => 'Grade.section_id'
)
);
В этом случае, когда вы делаете foreach( $grades as $grade )
, средние значения будут в $grade[0]['average']
.