SQLSTATE : Нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется

Я знаю, что это распространенная проблема, но не знаю, что здесь не так. Как вы видите, это //return $user и показывает действительный идентификатор. Также проверял, что и в базе данных.

  $user = new User; $user->first_name = $data['first_name']; $user->last_name = $data['last_name']; $user->email = $data['email']; $user->phone_no = $data['phone_no']; $user->created_from = 'Web App'; $user->save(); // return $user; Session::put('user_id',$user->id); // return $user->id; $address = new Address; $address->user_id = $user->id; $address->first_name = $data['receiver_first_name']; $address->last_name = $data['receiver_last_name']; $address->email = $data['receiver_email']; $address->address_line_1 = $data['receiver_address_line_1']; $address->address_line_2 = $data['receiver_address_line_2']; $address->landmark = $data['receiver_landmark']; $address->pincode = $data['receiver_pincode']; $address->phone_no = $data['receiver_phone_no']; $address->created_from = 'Web App'; $address->save(); 

Вот миграция. Это миграция пользователей.

 <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function($table){ $table->increments('id'); $table->string('first_name'); $table->string('last_name'); $table->string('email'); $table->string('phone_no', 20)->nullable(); $table->string('password')->nullable(); $table->string('remember_token', 100); $table->date('date_of_birth')->nullable(); $table->string('created_from'); $table->timestamps(); $table->softDeletes(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } 

}

Адреса

 public function up() { Schema::create('addresses', function($table){ $table->increments('id'); $table->integer('user_id')->unsigned(); $table->string('first_name'); $table->string('last_name'); $table->string('email'); $table->string('address_line_1'); $table->string('address_line_2')->nullable(); $table->string('landmark')->nullable(); $table->string('city')->nullable(); $table->string('state')->nullable(); $table->string('phone_no', 13); $table->integer('pincode'); $table->string('created_from'); $table->timestamps(); $table->softDeletes(); $table->foreign('user_id')->references('id')->on('users'); }); } - public function up() { Schema::create('addresses', function($table){ $table->increments('id'); $table->integer('user_id')->unsigned(); $table->string('first_name'); $table->string('last_name'); $table->string('email'); $table->string('address_line_1'); $table->string('address_line_2')->nullable(); $table->string('landmark')->nullable(); $table->string('city')->nullable(); $table->string('state')->nullable(); $table->string('phone_no', 13); $table->integer('pincode'); $table->string('created_from'); $table->timestamps(); $table->softDeletes(); $table->foreign('user_id')->references('id')->on('users'); }); } 

Вот скриншот ошибки, если это помогает. Скриншот ошибки

Solutions Collecting From Web of "SQLSTATE : Нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется"

В соответствии с сообщением об ошибке ваша ошибка вызвана вводом значения в адрес adeses.user_id (FK to src.id), которого нет в src.id.
В этом примере вы пытаетесь вставить 29 в адрес adeses.user_id, проверьте, возвращает ли SELECT id FROM src WHERE id=29 какой-либо результат. Если нет, это ваша проблема.

 $table->integer('user_id')->unsigned(); 

но

 $table->increments('id'); 

Должно быть одинаковое: unsigned

Ключами должны быть одни и те же типы данных