increments('id'); $table->integer('user_id')->unsigned()->index(); $table->integer('track_id')->unsigned()->nullable()->index(); $table->integer('album_id')->unsigned()->nullable()->index(); $table->integer('playlist_id')->unsigned()->nullable()->index(); $table->timestamp('created_at'); $table->foreign('user_id')->references('id')->on('users')->on_delete('cascade'); $table->foreign('track_id')->references('id')->on('tracks'); $table->foreign('album_id')->references('id')->on('albums'); $table->foreign('playlist_id')->references('id')->on('playlists'); }); } public function down() { Schema::table('favourites', function($table){ $table->dropForeign('favourites_user_id_foreign'); $table->dropForeign('favourites_track_id_foreign'); $table->dropForeign('favourites_album_id_foreign'); $table->dropForeign('favourites_playlist_id_foreign'); }); Schema::drop('favourites'); } }