/** * get all articles assigned to given $category * * @param ArticleCategory $category * @return Array */ public static function getArticlesForCategory(ArticleCategory $category) { $articles = array(); $rows = Application::getInstance()->getDb()->doPreparedQuery('SELECT * FROM articles WHERE articlecategoriesID = ?', array($category->getId())); foreach ($rows as $r) { if (!isset(self::$instancesById[$r['articlesID']])) { // create Article instance if it does not yet exist $article = self::createInstance($r); self::$instancesByAlias[$article->alias] = $article; self::$instancesById[$article->id] = $article; } $articles[] = self::$instancesById[$r['articlesID']]; } return $articles; }
/** * add WHERE clause that filters for $category * * @param ArticleCategory $category * * @return \vxPHP\Orm\Custom\ArticleQuery */ public function filterByCategory(ArticleCategory $category) { $this->addCondition("a.articlecategoriesID = ?", $category->getId()); return $this; }