From 725ce70ae9a7b66c3f116e3ca8dde9f998f1bc8f Mon Sep 17 00:00:00 2001 From: Dan Cryer Date: Fri, 9 Oct 2015 10:58:18 +0100 Subject: [PATCH] Fixing ordering on projects for @REBELinBLUE --- PHPCI/Store/ProjectStore.php | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/PHPCI/Store/ProjectStore.php b/PHPCI/Store/ProjectStore.php index 5f58fcc8..ea46d82b 100644 --- a/PHPCI/Store/ProjectStore.php +++ b/PHPCI/Store/ProjectStore.php @@ -66,6 +66,41 @@ class ProjectStore extends ProjectStoreBase $count = count($rtn); + return array('items' => $rtn, 'count' => $count); + } else { + return array('items' => array(), 'count' => 0); + } + } + + /** + * Get multiple Project by GroupId. + * @param int $value + * @param int $limit + * @param string $useConnection + * @return array + * @throws \Exception + */ + public function getByGroupId($value, $limit = 1000, $useConnection = 'read') + { + if (is_null($value)) { + throw new \Exception('Value passed to ' . __FUNCTION__ . ' cannot be null.'); + } + + $query = 'SELECT * FROM `project` WHERE `group_id` = :group_id ORDER BY title LIMIT :limit'; + $stmt = Database::getConnection($useConnection)->prepare($query); + $stmt->bindValue(':group_id', $value); + $stmt->bindValue(':limit', (int)$limit, \PDO::PARAM_INT); + + if ($stmt->execute()) { + $res = $stmt->fetchAll(\PDO::FETCH_ASSOC); + + $map = function ($item) { + return new Project($item); + }; + $rtn = array_map($map, $res); + + $count = count($rtn); + return array('items' => $rtn, 'count' => $count); } else { return array('items' => array(), 'count' => 0);