diplodocker/foreign-loader

This package is abandoned and no longer maintained. No replacement package was suggested.

Laravel foreign keys loader helper (part of Diplodocker project)

0.0.1 2019-03-04 18:31 UTC

This package is auto-updated.

Last update: 2022-01-04 17:13:18 UTC


README

Header

Build Status Made for Laravel PHP from Packagist

Diplodocker project helpers

Install

  • Install laravel =)
  • composer require --dev diplodocker/foreign-loader

Use class

<?php

use Diplodocker\ForeignKeysMigration;

class SomeMigrationFileName extends ForeignKeysMigration
{
    public $keys = [
        'user.city_id' => 'city.id',
        'user.company_id' => 'company.id',
        ...
    ];

Or use trait

<?php

use Diplodocker\Concerns\ForeignLoader;
use Illuminate\Database\Migrations\Migration;

class SomeMigrationFileName extends Migration
{
    // use trait
    use ForeignLoader;

    // set ON_UPDATE and ON_DELETE actions
    public const ON_UPDATE = 'restrict';
    public const ON_DELETE = 'restrict';

    public $keys = [
        'user.city_id' => 'city.id',
        'user.company_id' => 'company.id',
        ...
    ];

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        // your code here
        $this->loadForeignKeys();
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        // your code here
        $this->dropForeignKeys();
    }