function positiveRatingPercent() { $ratings = Rating::findBy(array('product' => $this)); $positive_ratings = array_filter($ratings, function ($rating) { return (int) $rating->value >= 4; }); if (!count($ratings)) { return 0; } return 100 * count($positive_ratings) / count($ratings); }