无法在播种前截断表

Omi*_*ari 3 php laravel eloquent laravel-5 lumen

我想在种子之前截断我的用户表。我这样做:

DatabaseSeeder.php :

 <?php

 use Illuminate\Database\Seeder;
 use Illuminate\Support\Facades\DB;

 class DatabaseSeeder extends Seeder
 {
     public function run()
     {
         App\User::truncate();

         factory(App\User::class,1)->create();
     }
 }
Run Code Online (Sandbox Code Playgroud)

然后运行php artisan db:seed并出现错误:

In Connection.php line 664:

  SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table referenced in a foreign key constra
  int (`mr_musicer`.`dislikes`, CONSTRAINT `dislikes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `mr_musicer`
  .`users` (`id`)) (SQL: truncate `users`)


In Connection.php line 458:

  SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table referenced in a foreign key constra
  int (`mr_musicer`.`dislikes`, CONSTRAINT `dislikes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `mr_musicer`
  .`users` (`id`))
Run Code Online (Sandbox Code Playgroud)

我现在想知道为什么我不能截断我的用户表!

Mal*_*dze 5

存在外键问题,表正试图提醒您。如果您无论如何都想截断表格。

    Schema::disableForeignKeyConstraints();

    // ... Some Truncate Query

    Schema::enableForeignKeyConstraints();
Run Code Online (Sandbox Code Playgroud)

不要忘记使用: use Illuminate\Support\Facades\Schema;