В Laravel 5.3 в моей функции up()
как я могу вставить данные в другую таблицу?Laravel Миграции вставляются в таблицу
я могу видеть только вещи в руководстве по обновлению колонн и т.д.
В Laravel 5.3 в моей функции up()
как я могу вставить данные в другую таблицу?Laravel Миграции вставляются в таблицу
я могу видеть только вещи в руководстве по обновлению колонн и т.д.
Вы можете сделать это как то, что вы делаете в обычном коде Laravel до тех пор, как таблица была создана уже. Например:
public function up()
{
Schema::create('this_table', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
\DB::table('that_table')->insert([]);
}
Как и другие, вы должны подумать о том, лучше ли перемещать такую логику в сеялки базы данных. Тем не менее, иногда я считаю, что лучше иметь такую логику, чтобы жить внутри файлов миграции, когда ваша таблица имеет постоянные исходные данные.
FYI, Here - проект с открытым исходным кодом Laravel делает это.
Точка миграции предназначена для изменения и совместного использования базы данных ** базы данных приложения **, а не для вставки данных. Если вы хотите вставить фиктивные/исходные данные, посмотрите [посев] (https://laravel.com/docs/5.3/seeding). – haitran
@haitran спасибо за сеялку, я бы запустил DB :: table ('db') -> insert ([для каждой партии данных, которую я хочу вставить в db, - глядя на выполнение DB :: table ('db') - > insert ([4 или 5 раз с информацией об ошибке –
Насколько я понимаю, вам нужно вставить несколько строк за раз, если я прав, тогда вам просто нужно поместить свои данные в массив как: 'DB :: table ('users') -> insert ([['array data 1'], ['array data 2'], ['array data 3']]); '. – haitran