如何通过laravel 5创建数据透视表

时间:2016-07-17 17:52:32

标签: migration pivot laravel-5.2

我跟踪了http://four.laravel.com/docs/eloquent#many-to-many中的所有内容,在应用解决方案后我在How is a pivot table created by laravel中发现了同样的问题我收到了迁移文件并且我已经进行了更改

public function up()
    {
        Schema::table('Card_User', function (Blueprint $table) {
          $table->increments('id');
          $table->integer('Card_id');
          $table->integer('User_id');
          $table->integer('additional_var');
        });
    }

但是当我尝试php artisan migrate:refresh时,我总是得到

[Illuminate\Database\QueryException]                                            
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.Card_User' d  
  oesn't exist (SQL: alter table `Card_User` add `id` int unsigned not null auto  
  _increment primary key, add `Card_id` int not null, add `User_id` int not null  
  , add `additional_var` int not null)                                    



  [PDOException]                                                                  
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'waawia.Card_User' d  
  oesn't exist   
  

在接下来的其他一些网页后,我试图:

     
      
  • php artisan migrate:install

  •   
  • 手动删除所有数据库表并刷新迁移

  •   
  • 重新启动php artisan serve,现在已关闭

  •   
  • 其他一些事情......

  •   
     

但仍有同样的问题

1 个答案:

答案 0 :(得分:1)

如果您要创建表格,请更改

Schema::table('Card_User', function (Blueprint $table) {}

Schema::create('Card_User', function (Blueprint $table) {}

Schema::table()用于更改现有表格,Schema::create()执行其所暗示的内容。