这是我的桌子
Desa / Dusun和kelurahan在两个表中的值相同,我想填写kodepos值
*请注意,这只是示例,其中包含大量数据
这是我的代码
public function updatekodepos()
{
$data = DataPos::all();
if ($data) {
foreach ($data as $asep) {
KodePos::where([
'Desa/Dusun' => $asep->kelurahan, 'kodepos' => NULL
])->update(['kodepos' => $asep->kodepos]);
return redirect('/');
}
} else {
return 'data not found';
}
}
模型datapos表示其中具有kodepos值的表,而kodepos模型表示具有空值的表, 我真正感谢的任何帮助,为此已经花了几个小时, 谢谢
答案 0 :(得分:0)
您应该在结束循环后返回。当您在循环中返回时,它将在检查第一个数据后返回,无论是否匹配并更新。您应该在检查完所有数据后返回,因为它们在循环内。
public function updatekodepos()
{
$data = DataPos::all();
if ($data) {
foreach ($data as $asep) {
KodePos::where([
'Desa/Dusun' => $asep->kelurahan, 'kodepos' => NULL
])->update(['kodepos' => $asep->kodepos]);
}
return redirect('/');
} else {
return 'data not found';
}
}