Hier ist die vollständige Antwort für den zukünftigen Leser. Beachten Sie, dass dies nur in Laravel 5+ möglich ist.
Zunächst benötigen Sie das Doctrine / Dbal- Paket:
composer require doctrine/dbal
Jetzt in Ihrer Migration können Sie dies tun, um die Spalte nullbar zu machen:
public function up()
{
Schema::table('users', function (Blueprint $table) {
// change() tells the Schema builder that we are altering a table
$table->integer('user_id')->unsigned()->nullable()->change();
});
}
Möglicherweise fragen Sie sich, wie Sie diesen Vorgang rückgängig machen können. Leider wird diese Syntax nicht unterstützt:
// Sadly does not work :'(
$table->integer('user_id')->unsigned()->change();
Dies ist die richtige Syntax, um die Migration zurückzusetzen:
$table->integer('user_id')->unsigned()->nullable(false)->change();
Wenn Sie möchten, können Sie auch eine Rohabfrage schreiben:
public function down()
{
/* Make user_id un-nullable */
DB::statement('UPDATE `users` SET `user_id` = 0 WHERE `user_id` IS NULL;');
DB::statement('ALTER TABLE `users` MODIFY `user_id` INTEGER UNSIGNED NOT NULL;');
}
Hoffentlich finden Sie diese Antwort hilfreich. :) :)