/** * Run the migrations. */ public function up() { Schema::create('lds_sealing_status', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('lds_sealing_id'); $table->unsignedInteger('lds_status_id'); $table->boolean('standard')->default(false); // Indexes $table->unique(['lds_sealing_id', 'lds_status_id']); $table->unique(['lds_status_id', 'lds_sealing_id']); // Foreign keys $table->foreign('lds_sealing_id')->references('id')->on('lds_sealing'); $table->foreign('lds_status_id')->references('id')->on('lds_status'); }); DB::transaction(function () { LdsSealingStatus::unguard(); foreach ($this->data as $datum) { $lds_sealing = LdsSealing::where(['value' => $datum['sealing']])->firstOrFail(); $lds_status = LdsStatus::where(['value' => $datum['status']])->firstOrFail(); $lds_sealing_status = new LdsSealingStatus(['standard' => true]); $lds_sealing_status->ldsSealing()->associate($lds_sealing); $lds_sealing_status->ldsStatus()->associate($lds_status); $lds_sealing_status->save(); } LdsSealingStatus::reguard(); }); }
/** * Run the migrations. */ public function up() { Schema::create('lds_status', function (Blueprint $table) { $table->increments('id'); $table->char('value', GedcomSpecification::LENGTH_LDS_XXXX_DATE_STATUS)->unique(); $table->boolean('standard')->default(false); }); DB::transaction(function () { LdsStatus::unguard(); foreach ($this->data as $datum) { LdsStatus::create($datum); } LdsStatus::reguard(); }); }