예제 #1
0
 /**
  * @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;
 }
예제 #2
0
 /**
  * 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;
 }