gpt4 book ai didi

php - updateOrCreate 数组中的多个属性( Eloquent )

转载 作者:行者123 更新时间:2023-11-29 05:58:44 25 4
gpt4 key购买 nike

如果还没有满足以下条件的行,我正在尝试创建一个新行:

['employee_id' => $id, 'competence_id' => $getCompetenceKey]

或者如果它已经存在,我更新它并设置 ['value' => $getCompetenceValue]

所以我这样做了:

foreach($request->input('competence') as $getCompetenceKey => $getCompetenceValue) {
EmployeeCompetence::updateOrCreate(
['employee_id' => $id,'competence_id' => $getCompetenceKey],
['value' => $getCompetenceValue]
);
}

但它似乎不能正常工作:

https://i.imgur.com/CNPZ2AB.png

不过我可以这样做:

foreach ($request->input('competence') as $getCompetenceKey => $getCompetenceValue) {
$e = EmployeeCompetence::where('employee_id', $id)->where('competence_id', $getCompetenceKey);
if ($e->count() > 0) {
$e->update(['value' => $getCompetenceValue]);
} else {
EmployeeCompetence::create(['employee_id' => $id,
'competence_id' => $getCompetenceKey,
'value' => $getCompetenceValue]);
}
}

但我真的很想知道为什么 updateOrCreate() 函数对我不起作用。

谢谢,

肯尼

最佳答案

第一列用于更新,但也应该在创建函数中传递。

例子:

EmployeeCompetence::updateOrCreate(
[
'employee_id' => $id,
'competence_id' => $getCompetenceKey
],
[
'value' => $getCompetenceValue,
'employee_id' => $id,
'competence_id' => $getCompetenceKey
]
);

关于php - updateOrCreate 数组中的多个属性( Eloquent ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com