Laravel — Создание таблиц динамически (без миграции)

Я пытаюсь создать таблицу динамически по запросу администратора, и, хотя это кажется забавным и изящным, как в большинстве документов Laravel, я не могу Создайте стол. Хотя я могу удалять таблицы и добавлять или удалять столбцы по своему желанию.

Это моя основная модель кода:

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

public static function createTable() {

Schema::create('randomName', function($table)
{
$table->increments('id');
$table->string('name');
});
}

В чем может быть проблема здесь? К сожалению, я не получаю никаких ошибок, поэтому я не знаю, как его отладить. Это просто переходит к следующей строке, как будто все работает нормально. Он просто не создает никаких таблиц.

Любой совет? Большое спасибо заранее!

9

Решение

Тьфу, не бери в голову … Я работал над этим достаточно долго, и решение, как всегда, было … Очень просто.

Мне просто нужно было сначала установить соединение с базой данных, поэтому вместо

Schema::create('tableName', function($table)
{
$table->increments('id');
});

это

Schema::connection('mysql')->create('tableName', function($table)
{
$table->increments('id');
});

Надеюсь, это поможет кому-нибудь когда-нибудь в будущем!

32

Другие решения

Этот еще лучше.

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::create('tableName', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
6