I am trying to add a foreign key constraint into my questions table but when I run php artisan migrate I get the following error:
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table questions add constraint questions_best_answer_id_foreign foreign key (best_answer_id) references answers (id) on delete SET NULL)
Up and down methods in my "add_foreign_best_answer_id_to_questions_table.php"
public function up()
    {
        Schema::table('questions', function (Blueprint $table) {
            //Define the foreign key
            $table->foreign('best_answer_id')
                  ->references('id')
                  ->on('answers')
                  ->onDelete('SET NULL');
        });
    }
    public function down()
    {
        Schema::table('questions', function (Blueprint $table) {
            $table->dropForeign(['best_answer_id']);
        });
    }
}
My Answer Model
 public static function boot()
    {
        parent::boot();
        static::created(function ($answer){
            $answer->question->increment('answers_count');
        });
        static::deleted(function($answer){
            $answer->question->decrement('answers_count');
        });
    }
I am trying to migrate to the DB to create a FK on the answers table but I get the error above.
Are there errors in my code?
Thank you!
via Chebli Mohamed
 
Aucun commentaire:
Enregistrer un commentaire