/** * @param string|array $uids * @param mixed $valueColumn See Arr::column * @param mixed $keyColumn See Arr::column * @return array|NULL * @throws \Exception */ public function findByUids($uids, $valueColumn = NULL, $keyColumn = NULL) { $select = '*'; $uids = Arr::commaListToArray($uids, "CategoryService expected uids to be a comma list or an array"); if (empty($uids)) { return array(); } $where = "uid IN (" . implode(',', $uids) . ') ' . BackendUtility::deleteClause(self::$categoryTable); $rows = $this->getDatabase()->exec_SELECTgetRows($select, self::$categoryTable, $where, '', 'sorting ASC'); if (!is_array($rows) || empty($rows)) { return array(); } if ($valueColumn || $keyColumn) { return Arr::column($rows, $valueColumn, $keyColumn); } return $rows; }
/** * Like rows() but works with an existing QueryResult. * * @param QueryResultInterface $result * @param null $keyField See \CIC\Cicbase\Arr::column * @param null $valueField See \CIC\Cicbase\Arr::column * @return array * @throws \Exception */ public function rowsFromQueryResult(QueryResultInterface $result, $keyField = NULL, $valueField = NULL) { $rows = $this->persistenceManager->getObjectDataByQuery($result->getQuery()); if ($keyField !== NULL || $valueField !== NULL) { return Arr::column($rows, $valueField, $keyField); } return $rows; }