title: Laravel - onDelete("cascade") does not work
body: <p>I have an <code>Laravel 4</code> app with polls and different options or choices to vote. The problem is that when I destroy a poll, the options are not deleted from the database.</p>
  
  <p>These are my main migrations:</p>
  
  <p><strong>Polls:</strong></p>
  
  <pre><code>private $table = 'polls';
  
  public function down() {
      Schema::dropIfExists($this-&gt;table);
  }
  
  public function up() {
      Schema::create($this-&gt;table, function(Blueprint $table) {
  
          $table-&gt;increments('id');
          $table-&gt;string( 'owner'      )-&gt;unsigned();
          $table-&gt;foreign('owner'      )-&gt;references('id')-&gt;on('users')-&gt;onDelete('cascade');
          $table-&gt;string( 'topic'      );
          $table-&gt;boolean('multichoice')-&gt;default(false);
          $table-&gt;boolean('signed'     )-&gt;default(false); // Marks if the poll can be voted only by authenticated users
          $table-&gt;timestamps();
      });
  }
  </code></pre>
  
  <p><strong>Options:</strong></p>
  
  <pre><code>private $table = 'options';
  
  public function down() {
      Schema::dropIfExists($this-&gt;table);
  }
  
  public function up() {
      Schema::create($this-&gt;table, function(Blueprint $table) {
  
          $table-&gt;increments('id');
          $table-&gt;integer(   'poll_id')-&gt;unsigned();
          $table-&gt;foreign(   'poll_id')-&gt;references('id')-&gt;on('polls')-&gt;onDelete('cascade');
          $table-&gt;string(    'name'   );
          $table-&gt;integer(   'votes'  )-&gt;default(0);
          $table-&gt;timestamps();
      });
  }
  </code></pre>
  
  <p>And this is the code that deletes:</p>
  
  <pre><code>    Poll::destroy($id);
  </code></pre>
  
  <p>I am using <code>sqlite</code> as my DB enging right now.</p>
  
  <p>What am I doing wrong?</p>