在我的laravel项目中,我使用modelname :: insert方法插入多个记录。现在我想得到它的最后一个插入ID。当你使用单个insert方法插入多个记录并尝试获取last_record_id时,我会读到它会给你最后一个插入查询束的第一个id。但我的第一个问题是如何使用以下代码获取最后一个记录ID。如果我能够获得该群的第一个id。我将使用增量变量通过我自己为其他记录创建其他ID。
插入多条记录的代码
if(!empty($req->contract_name) && count($req->contract_name)>0)
{
for($i=0; $i<count($req->contract_name); $i++)
{
$contract_arr[$i]['client_id'] = $this->id;
$contract_arr[$i]['contract_name'] = $req->contract_name[$i];
$contract_arr[$i]['contract_code'] = $req->contract_code[$i];
$contract_arr[$i]['contract_type'] = $req->contract_type[$i];
$contract_arr[$i]['contract_ext_period'] = $req->contract_ext_period[$i];
$contract_arr[$i]['contract_email'] = $req->contract_email[$i];
$contract_arr[$i]['created_at'] = \Carbon\Carbon::now();
$contract_arr[$i]['updated_at'] = \Carbon\Carbon::now();
$contract_arr[$i]['created_by'] = Auth::user()->id;
$contract_arr[$i]['updated_by'] = Auth::user()->id;
if($req->startdate[$i] != ''){
$contract_arr[$i]['startdate'] = date('Y-m-d',strtotime($req->startdate[$i]));
}
if($req->enddate[$i] != ''){
$contract_arr[$i]['enddate'] = date('Y-m-d',strtotime($req->enddate[$i]));
}
}
if(!empty($contract_arr)){
Contract::insert($contract_arr);
}
}
答案 0 :(得分:0)
你应该可以这样称呼它
$lastId = Contract::insert($contract_arr)->lastInsertId();
答案 1 :(得分:0)
如果我看对了,你就是在使用模特。直接插入仅显示成功布尔值。试试这个:
Contract::create($contract_arr)->getKey()