public function users($reload = false) { if ($reload or !$this->users_cache) { $id = mysql_real_escape_string($this->id); $this->users_cache = UserAchievement::find_all("user_achievements.achievement_id = '{$id}'"); } return $this->users_cache; }
public function achievements($category = null, $reload = false) { if ($reload or !$this->achievements_cache) { $id = mysql_real_escape_string($this->id); $this->achievements_cache = UserAchievement::find_all("user_achievements.user_id = '{$id}'", "user_achievements.category_id ASC"); } $results = array(); if ($category) { $id = $category; if (is_a($category, "AchievementCategory")) { $id = $category->id; } foreach ($this->achievements_cache as $achievement) { if ($achievement->category->id == $id) { $results[] = $achievement; } } } else { $results = $this->achievements_cache; } return $results; }