Как мне сделать запрос на создание таблицы с Eloquent вне Laravel? - PullRequest
0 голосов
/ 14 сентября 2018

Мы используем Eloquent без Laravel (длинный рассказ) для приложения, над которым мы работаем, и все идет хорошо, но мы столкнулись с небольшим затруднением при попытке динамически создавать таблицы изнутри приложение.

Приложение в основном представляет собой систему отслеживания и управления заявками, и каждое после отправки пользовательской формы делает запись в нашей таблице tickets с полем uuid. Это поле соответствует таблице с именем того же uuid (например, f46ffeec091c4b9d9f406d65a50ab9e6). Та таблица в базе данных, которая содержит более полную информацию и больше полей, относящихся к заявке.

Я пробовал много разных вариантов сейчас, но каждый раз, когда я пытаюсь запустить что-то вроде

Capsule::query("CREATE TABLE `$uuid` LIKE `tickettable`");

Мы получаем успешное возвращение (по крайней мере, без ошибок), но на самом деле таблица не создается. Мы попробовали с определенными именами классов вместо Capsule, используя Schema, запустив его в другом классе (ClassName::query(...);), $table = new Class(); $table->query(...); ... Кажется, ничего не работает.

Запуск чего-то вроде Schema::create($uuid, function(Blueprint $table){...}); полностью завершается неудачей.

Запуск Capsule, кажется, ближе всего к работе, но все еще не игра в кости. Есть мысли?

1 Ответ

0 голосов
/ 14 сентября 2018

Используйте это:

Capsule::schema()->create($uuid, function(Blueprint $table) {
    [...]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...