Php Laravel 5.2插入相关模型违反完整性约束

Php Laravel 5.2插入相关模型违反完整性约束,php,mysql,laravel,laravel-5.2,Php,Mysql,Laravel,Laravel 5.2,我有两个表atm和atm_设备,其中atm表有许多atm_设备。在创建新Atm的同时,我还想创建与Atm相关的新Atm_设备。在添加任何atm之前,我有15台atm和60台atm_设备,其中atm的id为1到15,atm_设备的id为1到60。当我添加新的Atm时,id从16开始;到目前为止没有什么问题。当创建atm_设备时,问题开始出现,第一个新创建的atm_设备自动分配一个等于新atm的id的id(在本例中为16)。这将创建“完整性约束冲突:1062重复条目”,因为60个atm_设备已经占用

我有两个表atm和atm_设备,其中atm表有许多atm_设备。在创建新Atm的同时,我还想创建与Atm相关的新Atm_设备。在添加任何atm之前,我有15台atm和60台atm_设备,其中atm的id为1到15,atm_设备的id为1到60。当我添加新的Atm时,id从16开始;到目前为止没有什么问题。当创建atm_设备时,问题开始出现,第一个新创建的atm_设备自动分配一个等于新atm的id的id(在本例中为16)。这将创建“完整性约束冲突:1062重复条目”,因为60个atm_设备已经占用了从1到60的数字。这是我的密码 `$atm1=新Atm; $atm->name=$request->get('name'); $atm->ip_地址=$request->get('ip_地址'); $atm->save(); $atmDevice1=新的AtmDevice; $atmDevice1->name='Top caste'; $atmDevice1->oid='.1.3.6.1'

$atmDevice2 = new AtmDevice;
$atmDevice2->name = 'Cash Dispenser Second Cassette';
$atmDevice2->oid = '.1.3.6.1.4';
$atm->atmDevices()->saveMany([$atmDevice1, $atmDevice2]);`

外键和关系定义中使用的名称应相同,如下所示:

public function atmDevices()
{
    return $this->hasMany('App\AtmDevice', 'atm_id');
} //relationship definition


$table->foreign('atm_id')->references('id')->on('atms')->onDelete('cascade');//migration table states atm_id is a foreign key

感觉就像你已经定义了atm设备上的外键与主键相同。您的关系定义是什么?感谢apokryfos,这就是原因,我的代码中有一个错误,我将其从return$this->hasMany('App\AtmDevice','id')更改为return$this->hasMany;要返回$this->hasMany('App\AtmDevice','atm_id');