title: Laravel Migrations onDelete Restrict not working
body: <p>Hello I'm trying to define relationships in my migrations
  I'm using on delete restrict to prevent deletion of parent record when child is present. but its not working. For example I have this event table (parent) that has editions (child). I'm using event_id in editions table
   with <code>onDelete('restrict')</code> and have event_id in my edition table.. 
  It should restrict me on deleting from events table as long record has child record in edition tables right? but its not..</p>
  
  <p>Here are the migrations of both tables</p>
  
  <p>Events (parent)</p>
  
  <pre><code>&lt;?php
  
  use Illuminate\Support\Facades\Schema;
  use Illuminate\Database\Schema\Blueprint;
  use Illuminate\Database\Migrations\Migration;
  
  class CreateEventsTable extends Migration
  {
      /**
       * Run the migrations.
       *
       * @return void
       */
      public function up()
      {
          Schema::create('events', function (Blueprint $table) {
              //master table
              $table-&gt;increments('event_id');
              $table-&gt;string('name');
              $table-&gt;text('full_name');
              $table-&gt;text('description');
              $table-&gt;tinyInteger('status');
              $table-&gt;integer('created_by');
              $table-&gt;integer('updated_by');
              $table-&gt;timestamps();
          });
      }
  
      /**
       * Reverse the migrations.
       *
       * @return void
       */
      public function down()
      {
          Schema::dropIfExists('events');
      }
  }
  </code></pre>
  
  <p>Editions (Child)</p>
  
  <pre><code>&lt;?php
  
  use Illuminate\Support\Facades\Schema;
  use Illuminate\Database\Schema\Blueprint;
  use Illuminate\Database\Migrations\Migration;
  
  class CreateEditionsTable extends Migration
  {
      /**
       * Run the migrations.
       *
       * @return void
       */
      public function up()
      {
          Schema::create('editions', function (Blueprint $table) {
              $table-&gt;increments('edition_id');
              $table-&gt;integer('event_id')-&gt;unsigned();
              $table-&gt;string('name');
              $table-&gt;dateTime('start')-&gt;nullable();
              $table-&gt;dateTime('end')-&gt;nullable();
              $table-&gt;enum('stage', ['Archived', 'Cancelled', 'Closed', 'Live', 'On-site', 'Pre-event', 'Sold out'])-&gt;nullable()-&gt;default('Pre-event');
              $table-&gt;tinyInteger('status');
              $table-&gt;integer('created_by');
              $table-&gt;integer('updated_by');
              $table-&gt;timestamps();
  
          });
  
          Schema::table('editions', function($table) {
  
              $table-&gt;foreign('event_id')
                  -&gt;references('event_id')-&gt;on('events')
                  -&gt;onDelete('restrict')-&gt;onUpdate('restrict');
  
  
  
  
          });
      }
  
      /**
       * Reverse the migrations.
       *
       * @return void
       */
      public function down()
      {
          Schema::dropIfExists('editions');
      }
  }
  </code></pre>