这是我的正文请求:
{
"license_history": [
{
"user_id": 1,
"medical_license":"01478" ,
"medical_license_expiration_date": "2019-01-01",
"state_issuing_medical_license": "Punjab",
"degree_listed_on_license": "BS",
"medical_license_issue_date": "2019-01-01"
},
{
"user_id": 1,
"medical_license":"852" ,
"medical_license_expiration_date": "2019-01-01",
"state_issuing_medical_license": "Punjab",
"degree_listed_on_license": "BS",
"medical_license_issue_date": "2019-01-01"
}
]
}它只在数据库中插入一条记录,这是我想要插入两条记录的第二条记录:
我的控制器:
if ($request->has('license_history')) {
$licenseHistory = $body['license_history'];
foreach ($licenseHistory as $history) {
$medicalLicense = [
'user_id' => $history['user_id'],
'medical_license' => $history['medical_license'],
'medical_license_expiration_date' => $history['medical_license'],
'state_issuing_medical_license' => $history['medical_license'],
'degree_listed_on_license' => $history['medical_license'],
'medical_license_issue_date' => $history['medical_license_issue_date'],
];
$medL = Medical_license::firstOrCreate(['user_id' => $history['user_id']], $medicalLicense);
$medL->fill($history)->save();
}
}这段代码将针对user_id插入记录,并将在针对相同用户id的记录已经存在的情况下进行更新,但现在我想添加对象的两条记录:我如何实现这一点?提前感谢!
发布于 2019-07-11 18:34:40
您必须使用第一个数组参数来定义每条记录中哪些列是唯一的。对我来说,看起来您希望user_id和medical_license是唯一的。如果是这样的话,你必须这样做
Medical_license::firstOrCreate(['user_id' => $history['user_id'], 'medical_license' => $history['medical_license']], $medicalLicense);https://stackoverflow.com/questions/56986932
复制相似问题