Здравствуйте!
Не могу понять в чем ошибка. Есть таблицы такие как users, region, city и связывающие таблицы многие ко многим userregion, usercity. То есть, пользователь заполняя профиль выбирает регион, потом подгружаются города региона которые он также выбирает и сохраняет. Но при сохранении возникает вот такая ошибка:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`marketcarsdb`.`usercity`, CONSTRAINT `usercity_city_id_foreign` FOREIGN KEY (`city_id`) REFERENCES `city` (`old`)) (SQL: insert into `usercity` (`city_id`, `user_id`) values (3443, 1))
Возникает она именно на сохранении города, с регионами все нормально и все сохраняет как надо.
Пробовал уже копировать таблицу region и userregion и потом переименовывать все вместо region в city чтоб одинаковые таблицы были только со своими названиями. Также и с моделями проделал. Все идентично но ошибка почему то именно с сохранением города.
Вот скрины таблиц usercity и списка городов city (с регионами также)
Метод из модели city
public function user()
{
return $this->belongsToMany('App\User', 'usercity', 'city_id', 'user_id');
}
Метод из модели user
public function city()
{
return $this->belongsToMany('App\Model\City', 'usercity', 'user_id', 'city_id');
}
Сохранение данных при которых и происходит ошибка
$user = User::find($request->user()->id);
$request['info'] = base64_encode($request['info']);
$user->update($request->all());
$user->country()->attach(1);
$user->region()->attach($request->region);
$user->city()->attach($request->city);