使用引用

时间:2015-12-19 10:11:07

标签: php laravel reference migration artisan

我需要创建两个表: 首先articles

public function up()
    {
        Schema::create('articles', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->string('title');
            $table->text('body');
            $table->timestamps();
            $table->timestamp('roba_spremna');
            $table->timestamp('auction_end');
            $table->string('key');

            $table->foreign('user_id')
                  ->references('id')
                  ->on('users')
                  ->onDelete('cascade');
        });
    }

然后offers

 public function up()
    {
        Schema::create('offers', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->integer('article_id');
            $table->integer('price');
            $table->string('comment');
            $table->timestamps();

            $table->foreign('user_id')
                ->references('id')
                ->on('users')
                ->onDelete('cascade');

            $table->foreign('article_id')
                ->references('id')
                ->on('articles')
                ->onDelete('cascade');
        });
    }

当我运行php artisan migrate时,我得到:

enter image description here

有什么问题?为什么我不能成功地创建这两个表?

2 个答案:

答案 0 :(得分:1)

因为表已经创建了。删除表并重新运行。

答案 1 :(得分:1)

如果您想引用表格的id列,您的列必须是无符号的,article_id表中的offers列不是无符号的,请将其设为无符号并刷新迁移< / p>