title: Reverse migration / drop foreign key for custom index name laravel migration
body: <p>So I have this migration</p>
  <pre><code>public function up()
      {
          Schema::table('xxx', function (Blueprint $table) {
              $table-&gt;foreign('aaa','bbb') // handle identifier name too long
                  -&gt;references('id')-&gt;on('aaa_table')-&gt;onDelete('cascade')-&gt;onUpdate('cascade');
          });
      }
  </code></pre>
  <p>I want create the <code>down()</code> function / reverse the migration for remove this foreign key.</p>
  <p>What I have tried here:</p>
  <pre><code>public function down()
      {
          Schema::table('xxx', function (Blueprint $table) {
              // implement one line of all 4 possibilities
              $table-&gt;dropForeign(['aaa']);
              $table-&gt;dropForeign(['bbb']);
              $table-&gt;dropForeign(['aaa'], 'bbb');
              $table-&gt;dropForeign(['bbb'], 'aaa');
          });
      }
  </code></pre>
  <p>All giving the same error when I run rollback this migration file,</p>
  <pre><code>SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'zzz'; check that column/key exists
  </code></pre>
  <p>The database condition is still clean, no data (row) inserted. If I do it without the custom name assigned to second argument in <code>foreign</code> and short name case (no warning abount identifier name too long), the reverse migration runs smoothly.</p>