如何解决违反完整性约束:1452无法添加或更新子行Laravel 6
我有一个用户,它之间有一个belongToTo hasMany关系,这意味着一个用户生活在一个状态,当我想添加一个用户时,它给我错误:
sqlSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败(ʻaswak
.ʻusers
,CONSTRAINT`users_city_id_foreignFOREIGN KEY (
city_id) REFERENCES ʻusers
(ʻid { {1}}() ON DELETE CASCADE) (sql: insert into ʻusers
,电子邮件name
密码,
电话,
日期,
country_id,
state_id,
,{{ 1}},ʻAutreh,ʻautrei
,ʻadressercity_id
,ʻimages,ʻadressem
,,ʻimage
)值(achraf khazzou,achraf.khazzou @ gmail.com,$ 2y $ 10 $ g5qibjlVJqMOlhriu5s / TuS8UIoYEVOYFPHBM4UVa,0626341177,1988年6月22日,1,4&#62 7 ?,干草tihit tinghir,干草tihit tinghir,型材\ October2020 \ == eyJpdiI6IjJPRVdIUlFcL3VFZm5uM2syK3kra0pBPT0iLCJ2YWx1ZSI6Ik0zZysyY2FIKzZHMWIxZ1hCdnljM2NhZ0lhsllGblBmaXlNUXNcL1NJZDFVPSIsIm1hYyI6IjZkMzBlODdlNjYwNjBiMWRlYmM2MTkxZmMwMDlkNzFjY2NlYjEzOWJiOTg1ZDViMzg2MDZlZDQxY2EwZWNlMjkifQ。JPEG,[“轮廓October2020 \ \ eyJpdiI6IkFlQmljZlFta2RzeflaZXhGOTZxRWc9PSIsInZhbHVlIjoiQUlPajV6YkZJd1ZHem90ZGdNT3U1dzFlblV MMTJ6QStIbFwvRE1oYTM5eElBdW1RN0dkcW1xV3RoZWZtXC9MU1lkIiwibWFjIjoiY2YyYzBjMTQ3Zjg1OTcyNjQ1OWY1YjI5MW Y4MjBkOTBmZDM3ZWQyMmMyOTQ1ZTg4YjgwMzg0ZjIzMmIwZmFjZiJ9.jpeg “” 简档\ \ October2020 eyJpdiI6IjZnUWVVNEZmR0dHckowV1Erdmlwd0E9PSIsInZhbHVlIjoiaWdWblYwOG93dlhJVldnaTNDdERjXC9DYmVLUVFxUE9OVlBvWHRyVFdTZWRkVnlwWHkwUXhSeGJGb1BlZmFzSmUiLCJtYWMiOiJkMjlmMGQ4OGIwY2IwYTE0ZDZhNWQ1MzM1YzY5YWRhOWUwNmYwNjNkZmU2ZDhmM2QxMGU1ZTY2YzdlNmQwZTM0In0 = .JPEG“] 2020年10月10日下午5时32分58秒,2020年10月10日5时32分58秒P.M。))。
状态表
城市表
有时,由于知道表状态和城市被状态和城市折叠,有时会给我错误CONSTRAINT ,ʻupdated_at
,有时还会出现CONSTRAINT created_at
User.PHP
users_city_id_foreign
City.PHP
users_state_id_foreign
State.PHP
public function country() {
return $this->belongsTo('App\Country');
}
public function state() {
return $this->belongsTo('App\State');
}
public function city() {
return $this->belongsTo('App\City');
}
用户表
public function users(){
return $this->hasMany('App\User');
}
解决方法
您的外键引用错误。您引用父表的键,而不是外键声明中的表本身。更改您的迁移文件
$table->bigInteger('country_id')->unsigned()->nullable();
$table->foreign('country_id')->references('id')
->on('countries')->onDelete('cascade');
$table->bigInteger('city_id')->unsigned()->nullable();
$table->foreign('city_id')->references('id')
->on('cities')->onDelete('cascade');
$table->string('autreh')->nullable();
$table->bigInteger('state_id')->unsigned()->nullable();
$table->foreign('state_id')->references('id')
->on('states')->onDelete('cascade');
我假设您使用表名,如果需要,请根据您的表名进行更改。再次迁移,这将起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。