خانه آموزش فریم ورک لاراول رفع مشکل Cannot add foreign key constraint لاراول – migrate

رفع مشکل Cannot add foreign key constraint لاراول – migrate

2 دقیقه برای خواندن کافیست
0
0
129

قطعا برای شما هم پیش اومده که برای اجرای migrations لاراول زمانی که از تابع foreign استفاده می کنید مانند کد زیر :

Schema::create('articles', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->integer('user_id')->unsigned();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');


            $table->string('title');
            $table->string('slug');
            $table->text('description');
            $table->text('body');
            $table->string('image_url');
            $table->string('tag');
            $table->integer('view_count')->default(0);
            $table->integer('comment_count');

            $table->timestamps();
        });

با ارور زیر روبرو می شوید :

Illuminate\Database\QueryException  : SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table articles add constraint articles_user_id_foreign foreign key (user_id) references users (id) on delete cascade)

برای برطرف کردن این ارور کافیست نوع به طور مثال جدول id  را تنها bigInteger در نظر بگیرید . تا به راحتی از این ارور خلاص شوید .

خط سوم کدی که مثال زدم یعنی :

public function up()
    {
        Schema::create('articles', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->bigInteger('user_id')->unsigned();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');



            $table->string('title');
            $table->string('slug');
            $table->text('description');
            $table->text('body');
            $table->string('image_url');
            $table->string('tag');
            $table->integer('view_count')->default(0);
            $table->integer('comment_count');

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

توجه : شما باید حواستان باشد که در بقیه migrations که برای ساخت جداول استفاده می کنید نوع جدول دقیقا یکی باشد !

مشاهده محتوا بیشتر
ادامه مطلب شمشاد امیری خراسانی
بارگذاری بیشتر در آموزش فریم ورک لاراول

دیدگاه بگذارید

avatar
  اشتراک  
به من اطلاع بده

همچنین ببینید

تست ارتباط ‍پایگاه داده mysql با لاراول

برای اینکه تست کنید ارتباط برنامه لاراول شما با پایگاه داده برقرار است در فایل : routes/we…