Mam ten sam problem. Właśnie zauważyłem następującą notatkę na samym dole dokumentacji schematu Laravela :
Dla mnie, gdy tylko ustawię pola klucza obcego jako takie:
$table->integer('author')->unsigned();
Nie miałem problemu.
EDYCJA:Upewnij się również, że pola w obcej tabeli są już utworzone, w przeciwnym razie może się to nie powieść z tym samym błędem.