2010-12-06 4 views
4

제품 개체가 있고 제품에 대한 등급을 나타내는 rating 개체가 있습니다. 등급은 1에서 5까지의 정수 인 "값"이라는 속성이 있습니다.Propel ORM : 열의 평균 계산

모든 제품의 평균 등급을 얻고 싶습니다. 나는 모든 등급을 얻는 방법을 알고

$product->getRatingsRelatedByFromProductId(); 

하지만 최신 버전 (1.5 추진)에 대한 모든 평가

답변

3

의 값의 평균을 얻을 수있는 방법, 여기에 문서의 예는 다음과 같습니다 http://www.propelorm.org/wiki/Documentation/1.5/ModelCriteria#AddingColumns

$authors = AuthorQuery::create() 
    ->join('Author.Book') 
    ->withColumn('COUNT(Book.Id)', 'NbBooks') 
    ->groupBy('Author.Id') 
    ->find(); 
foreach ($authors as $author) { 
     echo $author->getName() . ': ' . $author->getNbBooks() . " books\n"; 
} 

나는 당신이 필요로하는 경우에 쉽게 AVG()에 의해 COUNT(), MIN(), MAX() 또는 다른 집계 함수를 대체하고 ->groupBy()을 제거 할 수 있다고 생각한다.

+0

감사합니다. Count가 간단한 메소드 "$ authors-> getBooksRelatedByAuthorId() -> count()로 지원되지만, 다른 집계 함수는 지원되지 않습니다. –