コード例 #1
0
ファイル: Table.php プロジェクト: core-framework/core
 /**
  * @param $columnName
  * @param $type
  * @param array $options
  * @return $this
  */
 public function addColumn($columnName, $type = null, $options = [])
 {
     if (!$columnName instanceof Column) {
         $column = new Column();
         $column->setName($columnName)->setDataType($type);
         if (!empty($options)) {
             $column->setOptions($options);
             if (isset($options['primaryKey'])) {
                 $this->addPrimaryKey($column);
             }
             if (isset($options['foreignKey']) && isset($options['referencedTable']) && isset($options['referencedColumns'])) {
                 $this->addForeignKey($column, $options['referencedTable'], $options['referencedColumns']);
             }
         }
     } else {
         $column = $columnName;
     }
     $this->setColumn($column);
     return $this;
 }