Laravel получает таблицу гринов, принадлежащих пользователю с загруженными столбцами - PullRequest
0 голосов
/ 12 марта 2019

У меня есть приложение, в котором пользователь создает таблицы для хранения данных. Имена таблиц имеют префикс:

$user->id . "_table_name"

Я могу получить все таблицы, которые принадлежат этому пользователю, вот так:

$tables = DB::select("SHOW TABLES LIKE '{$user->id} . _%'");

И я могу получить столбцы для каждой таблицы следующим образом:

$columns = Schema::getColumnListing($table);

Но я хочу загружать столбцы для каждой таблицы, что-то вроде:

$tables = DB::with('columns')->select("SHOW TABLES LIKE '{$user->id} . _%'");

Как это можно сделать? Спасибо.

1 Ответ

0 голосов
/ 12 марта 2019

Возможно не самый элегантный, но работает:

$tables = DB::select("SHOW TABLES");

foreach($tables as $table) {
    $columns = Schema::getColumnListing($table->Tables_in_apiapi);
    $table->columns =  $columns;
}
...