Попытка добавить столбец в пустую и существующую таблицу в postgresql - PullRequest
0 голосов
/ 04 октября 2018

У меня есть проект для создания динамических таблиц со столбцами

   $addThese = array();

    foreach ($fields['columns'] as $columnNew){

        $add = true;

        foreach ($structureOld['columns'] as $columnOld) {

            // Column exists
            if ($columnOld['originalName'] == $columnNew['originalName'])
                $add = false;

        }

        // No match, add column
        if ($add)
            $addThese[] = $columnNew;


    }

    Schema::connection('pgsql')->table($tableName, function($table) use ($addThese){

        foreach ($addThese as $column)


            $table->$column['originalType']($column['originalName'])->nullable();


    });

этот код дает массив ошибок для преобразования строк в ** $ table -> $ column'originalType '-> nullable ();** и при изменении кода, подобного этому

Schema::connection('pgsql')->table($tableName, function($table) use ($addThese){

            foreach ($addThese as $column)

    $val = $column['originalType'].'("'.$column['originalName'].'")->nullable()';
           $table->$val;

выдает ошибку

[ErrorException]
Неопределенное свойство: Illuminate \ Database \ Schema \ Blueprint::
$ строка (имя)

1 Ответ

0 голосов
/ 04 октября 2018

Попробуйте это внутри цикла foreach ():

$table->{$column['originalType']}($column['originalName'])->nullable();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...