class CreateCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email');
$table->text('comment');
$table->boolean('approved');
$table->integer('post_id')->unsigned();
$table->timestamps();
});
Schema::table('comments', function (Blueprint $table) {
$table->foreign('post_id')->references('id')->on('posts');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropForeign(['post_id']);
Schema::dropIfExists('comments');
}
}
これは私の移行クラスの外観です。データベースからテーブルを削除しようとしていますが、エラーが発生します。未定義のメソッドを照らし\ Databaseへ未定義のメソッドを呼び出す Database Schema MySqlBuilder :: dropForeign()を呼び出します。
エラー
コール\スキーマ\ MySqlBuilder :: dropForeign()
私は、ドキュメントを介して行っているが、doesnotかなり助けになるように見えます。
誰でも私の間違いを指摘して、解決策は何ですか?
ちょうどあなたが知っている、私はlaravelに新しいです。私は簡単に行ってください。ありがとうございます!
あなただけのキーを指定した場合、それは配列でなければなりません。それ以外の場合は動作しません。 –
ええ、移行での外部キーの命名規則は、 ' _ _ _foreign'です。 –
shoieb0101
はい。 Laravel 5ではキーだけを使うこともできますが、 'dropForeign(['your_key_name'])' –