Вход Регистрация
Файл: src/vendor/way/generators/src/Way/Generators/Syntax/RemoveFromTable.php
Строк: 41
<?php namespace WayGeneratorsSyntax;

class 
RemoveFromTable extends Table {

    
/**
     * Compile and return string for removing columns
     *
     * @param $migrationData
     * @param array $fields
     * @return mixed
     */
    
public function remove($migrationData, array $fields)
    {
        
$migrationData['method'] = 'table';

        
$compiled $this->compiler->compile($this->getTemplate(), $migrationData);

        return 
$this->replaceFieldsWith($this->dropColumns($fields), $compiled);
    }

    
/**
     * Return string for dropping all columns
     *
     * @param array $fields
     * @return array
     */
    
protected function dropColumns(array $fields)
    {
        
$schema = [];

        foreach(
$fields as $field)
        {
            
$schema[] = $this->dropColumn($field);
        }

        return 
$schema;
    }

    
/**
     * Return string for dropping a column
     *
     * @param $field
     * @return string
     */
    
private function dropColumn($field)
    {
        return 
sprintf("$table->dropColumn('%s');"$field['field']);
    }

}
Онлайн: 0
Реклама