我有兩個表atms和atm_devices atms表有許多atm_devices。當創建一個新的Atm時,我也想創建與Atm相關的新的atm_devices。在添加任何atm之前,我有15個atm和60個atm_devices,其中atms的id是1到15,atm_devices的id是1到60。當我添加新的Atm時,ID從16開始;迄今爲止沒有錯。當atm_devices被創建時,第一個新創建的atm_devices被自動分配一個id,這個id等於新atm的id(在本例中爲16)。這將創建「完整性約束違規:1062重複條目」,因爲60個atm_devices中已經有1到60的數字。這裏是我的代碼 `$ atm1 = new Atm; $ atm-> name = $ request-> get('name'); $ atm-> ip_address = $ request-> get('ip_address'); $ atm-> save(); $ atmDevice1 = new AtmDevice; $ atmDevice1-> name ='Top Cassette'; $ atmDevice1-> oid ='.1.3.6.1';Laravel 5.2插入相關模型具有完整性約束衝突
$atmDevice2 = new AtmDevice;
$atmDevice2->name = 'Cash Dispenser Second Cassette';
$atmDevice2->oid = '.1.3.6.1.4';
$atm->atmDevices()->saveMany([$atmDevice1, $atmDevice2]);`
這種感覺就像你定義在ATM設備的外鍵與主鍵相同。你的關係定義是什麼? – apokryfos
感謝apokryfos這是原因,我有我的代碼中的錯誤,我改變它從返回$ this-> hasMany('App \ AtmDevice','id');返回$ this-> hasMany('App \ AtmDevice','atm_id'); – temesgen