update your `integer('user_id')` to `bigInteger('user_id')`publicfunctionup(){Schema::create('evaluation',function(Blueprint$table){$table->increments('id');$table->bigInteger('user_id')->unsigned()->index();$table->timestamps();$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');});}
//Note : Before Renaming Foreign, You Must Need To Delete Old Foreign And Assign New OneclassRenameColumnextendsMigration{publicfunctionup(){Schema::table('holidays',function(Blueprint$table){$table->dropForeign('holidays_account_id_foreign');$table->renameColumn('account_id ','engagement_id');$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');});}publicfunctiondown(){Schema::table('holidays',function(Blueprint$table){$table->dropForeign('holidays_engagement_id_foreign');$table->renameColumn('account_id ','engagement_id');$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');});}}
$table->foreignId('user_id')->constrained("users")<-// You don't need to specify table if it matched laravel naming conventions.->onUpdate('cascade')->onDelete('cascade');
Firstly you have to make your user_id field an index:$table->index('user_id');
After that you can create a foreign key with an action on cascade:$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');If you want to do that with a newmigration, you have to remove the index and foreign key firstly anddo everything from scratch.
On down()function you have to do this and then on up()do what I've wrote above:
$table->dropForeign('lists_user_id_foreign');
$table->dropIndex('lists_user_id_index');
$table->dropColumn('user_id');