0

ワークベンチの移行には、通常のテーブルの作成と、多対多のリレーションシップ用のピボット テーブルの作成の 2 種類があります。

定期的な移行のサンプル:

<?php

use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration {

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
        Schema::create('users', function(\Illuminate\Database\Schema\Blueprint $table)
        {
            $table->increments('id')->unsigned();

            $table->string('login')->unique();
            $table->string('username')->unique();
            $table->string('password');
            $table->string('email');
            $table->boolean('active')->default(true);

            $table->timestamps();
            $table->softDeletes();
        });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
        Schema::dropIfExists('users');
}

}

上記の移行はロールバック可能

<?php

use Illuminate\Database\Migrations\Migration;

class CreatePivotRoleUser extends Migration {

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
        Schema::create('role_user', function(\Illuminate\Database\Schema\Blueprint $table)
        {   
            $table->integer('role_id')->unsigned();
            $table->integer('user_id')->unsigned();

            $table->primary(['role_id', 'user_id']);

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

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
        Schema::dropIfExists('role_user');
}

}

これはできませんが、

「クラス 'CreatePivotPermissionRole' が見つかりません」

エラー。

修正方法は?

4

1 に答える 1

0

あなたのコードは正しいようです。CreatePivotPermissionRole が見つからない場合は、以前に削除されたことを意味します。すべての down() メソッドの内容を確認してください。何か問題があるはずです。

于 2013-08-29T03:34:30.340 に答える