From 951828a4f1175f99666a48629ea125640cc7c598 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sat, 10 Nov 2018 20:42:48 +0100 Subject: Migration: Moved reference method to trait --- .../2018_10_01_000000_create_users_tables.php | 14 +-------- db/migrations/Reference.php | 36 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 db/migrations/Reference.php (limited to 'db') diff --git a/db/migrations/2018_10_01_000000_create_users_tables.php b/db/migrations/2018_10_01_000000_create_users_tables.php index 55ee382e..d6778c52 100644 --- a/db/migrations/2018_10_01_000000_create_users_tables.php +++ b/db/migrations/2018_10_01_000000_create_users_tables.php @@ -16,6 +16,7 @@ use stdClass; class CreateUsersTables extends Migration { use ChangesReferences; + use Reference; /** * Run the migration @@ -273,17 +274,4 @@ class CreateUsersTables extends Migration $this->schema->drop('users'); } - - /** - * @param Blueprint $table - */ - protected function referencesUser(Blueprint $table) - { - $table->unsignedInteger('user_id'); - - $table->primary('user_id'); - $table->foreign('user_id') - ->references('id')->on('users') - ->onDelete('cascade'); - } } diff --git a/db/migrations/Reference.php b/db/migrations/Reference.php new file mode 100644 index 00000000..4c35b59b --- /dev/null +++ b/db/migrations/Reference.php @@ -0,0 +1,36 @@ +references($table, 'users', 'user_id', $setPrimary); + } + + /** + * @param Blueprint $table + * @param string $targetTable + * @param string $fromColumn + * @param bool $setPrimary + */ + protected function references(Blueprint $table, $targetTable, $fromColumn, $setPrimary = false) + { + $table->unsignedInteger($fromColumn); + + if ($setPrimary) { + $table->primary($fromColumn); + } + + $table->foreign($fromColumn) + ->references('id')->on($targetTable) + ->onDelete('cascade'); + } +} -- cgit v1.2.3-54-g00ecf