private function getQueryResult($filter = '')
 {
     try {
         $result = $this->tableRestProxy->queryEntities($this->tableName, $filter);
         return $result;
     } catch (ServiceException $e) {
         $this->output->writeln('<error>[!]</error> Exception Code: <comment>' . $e->getCode() . '</comment>');
         $this->output->writeln($e->getMessage());
         return $e->getCode();
     }
 }
Beispiel #2
0
 public function getTableNames($schema = null, $refresh = false, $use_alias = false)
 {
     if ($refresh || empty($this->tableNames) && null === ($this->tableNames = $this->getFromCache('table_names'))) {
         /** @type TableNameSchema[] $names */
         $names = [];
         /** @var QueryTablesResult $result */
         $result = $this->dbConn->queryTables();
         $tables = $result->getTables();
         foreach ($tables as $table) {
             $names[strtolower($table)] = new TableNameSchema($table);
         }
         // merge db extras
         if (!empty($extrasEntries = $this->getSchemaExtrasForTables($tables, false))) {
             foreach ($extrasEntries as $extras) {
                 if (!empty($extraName = strtolower(strval($extras['table'])))) {
                     if (array_key_exists($extraName, $tables)) {
                         $names[$extraName]->fill($extras);
                     }
                 }
             }
         }
         $this->tableNames = $names;
         $this->addToCache('table_names', $this->tableNames, true);
     }
     return $this->tableNames;
 }
 /**
  * {@inheritDoc}
  */
 public function executeRangeQuery(RangeQuery $query, $storageName, $key, \Closure $hydrateRow = null)
 {
     $filters = array("PartitionKey eq " . $this->quoteFilterValue($query->getPartitionKey()));
     foreach ($query->getConditions() as $condition) {
         if (!in_array($condition[0], array('eq', 'neq', 'le', 'lt', 'ge', 'gt'))) {
             throw new \InvalidArgumentException("Windows Azure Table only supports eq, neq, le, lt, ge, gt as conditions.");
         }
         $filters[] = "RowKey " . $condition[0] . " " . $this->quoteFilterValue($condition[1]);
     }
     $filter = '(' . implode(" and ", $filters) . ')';
     $result = $this->client->queryEntities($storageName, $filter);
     $rows = array();
     foreach ($result->getEntities() as $entity) {
         $row = $this->getProperties($entity);
         $rows[] = $hydrateRow ? $hydrateRow($row) : $row;
     }
     return $rows;
 }
Beispiel #4
0
 /**
  * Gets a unique slug by chacking storage
  *
  * @param $slug
  * @return bool|string
  */
 public function getUniqueSlug($slug)
 {
     $filter = "slug eq '{$slug}'";
     try {
         $result = $this->tableProxy->queryEntities(self::TABLE_AGGREGATION, $filter);
         $entities = $result->getEntities();
         var_dump($entities, count($entities));
         if (count($entities) > 0) {
             $slug = $slug . rand(0, 9);
             var_dump($slug);
             return $this->getUniqueSlug($slug);
         }
         return $slug;
     } catch (ServiceException $e) {
         $code = $e->getCode();
         $error_message = $e->getMessage();
         echo $code . ": " . $error_message . "<br />";
         return false;
     }
 }