Получить схему таблицы, используя eloquent, получить ошибку преобразования массива в строку - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь получить список типов данных столбца для определенной таблицы.Я заметил, что у eloquent есть несколько методов, которые делают это, поэтому я пытаюсь их использовать.

$grammar = DB::connection()->getSchemaBuilder();
$schema = DB::select($grammar->getColumnListing('vehicles'));

Однако я получаю следующую ошибку при вызове getColumnListing:

Преобразование массива в строку

Не уверен, где этотак называемый Array - это ... метод ожидает String:

vendor \ laravel \ framework \ src \ Illuminate \ Database \ Schema \ Builder.php

/**
     * Get the column listing for a given table.
     *
     * @param  string  $table
     * @return array
     */
    public function getColumnListing($table)
    {
        $table = $this->connection->getTablePrefix().$table;

        $results = $this->connection->select($this->grammar->compileColumnListing($table));

        return $this->connection->getPostProcessor()->processColumnListing($results);
    }

1 Ответ

1 голос
/ 15 апреля 2019

Laravel предоставляет только список имен столбцов:

Schema::getColumnListing('vehicles');

Более подробную информацию можно получить, установив пакет doctrine/dbal:

Schema::getConnection()->getDoctrineSchemaManager()->listTableColumns('vehicles');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...