繁体   English   中英

根据与另一个表匹配的数据更新表中的列

[英]Updating a column in table from matching data with another table

这是我的桌子

在此处输入图像描述

在此处输入图像描述

两张桌子上的 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';
    }
}

Model datapos 表示其中包含 kodepos 值的表,kodepos model 表示具有空值的表,我真的很感激任何帮助,已经为此卡了几个小时,谢谢

您应该在结束循环后返回。 当您在循环内返回时,它将在检查第一个数据后返回,无论它是否匹配以及是否更新。 您应该在检查所有数据后返回,因为它在一个循环中。

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';
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM