コード例 #1
0
ファイル: Table.php プロジェクト: michaelnavarro/zc
 /**
  *
  * @param array $columnNames
  * @param string $indexName
  * @param bool $isUnique
  * @param bool $isPrimary
  * @return Table
  */
 private function _createIndex(array $columnNames, $indexName, $isUnique, $isPrimary)
 {
     if (preg_match('(([^a-zA-Z0-9_]+))', $indexName)) {
         throw SchemaException::indexNameInvalid($indexName);
     }
     foreach ($columnNames as $columnName => $indexColOptions) {
         if (is_numeric($columnName) && is_string($indexColOptions)) {
             $columnName = $indexColOptions;
         }
         if (!$this->hasColumn($columnName)) {
             throw SchemaException::columnDoesNotExist($columnName, $this->_name);
         }
     }
     $this->_addIndex(new Index($indexName, $columnNames, $isUnique, $isPrimary));
     return $this;
 }
コード例 #2
0
ファイル: Table.php プロジェクト: BozzaCoon/SPHERE-Framework
 /**
  * @param array   $columnNames
  * @param string  $indexName
  * @param boolean $isUnique
  * @param boolean $isPrimary
  * @param array   $flags
  * @param array   $options
  *
  * @return Index
  *
  * @throws SchemaException
  */
 private function _createIndex(array $columnNames, $indexName, $isUnique, $isPrimary, array $flags = array(), array $options = array())
 {
     if (preg_match('(([^a-zA-Z0-9_]+))', $this->normalizeIdentifier($indexName))) {
         throw SchemaException::indexNameInvalid($indexName);
     }
     foreach ($columnNames as $columnName => $indexColOptions) {
         if (is_numeric($columnName) && is_string($indexColOptions)) {
             $columnName = $indexColOptions;
         }
         if (!$this->hasColumn($columnName)) {
             throw SchemaException::columnDoesNotExist($columnName, $this->_name);
         }
     }
     return new Index($indexName, $columnNames, $isUnique, $isPrimary, $flags, $options);
 }