Returns an article authors list based on the given parameters.
public static GetList ( array $p_parameters, string $p_order = null, integer $p_start, integer $p_limit, integer &$p_count, $p_skipCache = false ) : array | ||
$p_parameters | array | An array of ComparisonOperation objects |
$p_order | string | An array of columns and directions to order by |
$p_start | integer | The record number to start the list |
$p_limit | integer | The offset. How many records from $p_start will be retrieved. |
$p_count | integer | The total count of the elements; this count is computed without applying the start ($p_start) and limit parameters ($p_limit) |
return | array | $articleAuthorsList An array of Author objects |
/** * Creates the list of objects. Sets the parameter $p_hasNextElements to * true if this list is limited and elements still exist in the original * list (from which this was truncated) after the last element of this * list. * * @param int $p_start * @param int $p_limit * @param array $p_parameters * @param int &$p_count * @return array */ protected function CreateList($p_start = 0, $p_limit = 0, array $p_parameters, &$p_count) { $articleAuthorsList = ArticleAuthor::GetList($this->m_constraints, $this->m_order, $p_start, $p_limit, $p_count); $metaAuthorsList = array(); foreach ($articleAuthorsList as $author) { $authorTypeId = NULL; if (!is_null($author->getAuthorType()) && $author->getAuthorType()->exists()) { $authorTypeId = $author->getAuthorType()->getId(); } $metaAuthorsList[] = new MetaAuthor($author->getId(), $authorTypeId); } return $metaAuthorsList; }
/** * Creates the list of objects. Sets the parameter $p_hasNextElements to * true if this list is limited and elements still exist in the original * list (from which this was truncated) after the last element of this * list. * * @param int $p_start * @param int $p_limit * @param array $p_parameters * @param int &$p_count * @return array */ protected function CreateList($p_start = 0, $p_limit = 0, array $p_parameters, &$p_count) { $cacheService = \Zend_Registry::get('container')->getService('newscoop.cache'); $cacheKey = $cacheService->getCacheKey(array('metaAuthorsList', implode('-', $this->m_constraints), implode('-', $this->m_order), $p_start, $p_limit, $p_count), 'authors'); if ($cacheService->contains($cacheKey)) { $metaAuthorsList = $cacheService->fetch($cacheKey); } else { $articleAuthorsList = ArticleAuthor::GetList($this->m_constraints, $this->m_order, $p_start, $p_limit, $p_count); $metaAuthorsList = array(); foreach ($articleAuthorsList as $author) { $authorTypeId = NULL; if (!is_null($author->getAuthorType()) && $author->getAuthorType()->exists()) { $authorTypeId = $author->getAuthorType()->getId(); } $metaAuthorsList[] = new MetaAuthor($author->getId(), $authorTypeId); } $cacheService->save($cacheKey, $metaAuthorsList); } return $metaAuthorsList; }