You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel导入CSV数据时避免CPF重复并正确更新字段的问题求助

Laravel导入CSV数据时避免CPF重复并正确更新字段的问题求助

大家好,我是Laravel新手,最近在做一门编程课程的作业时卡住了,想请各位帮忙看看。

我的需求是把一份CSV文件导入数据库,核心要求是不能重复存储CPF信息:如果数据库里已经存在某个CPF对应的记录,就更新这条记录的其他字段;如果不存在,就新增一条记录。

我尝试用updateOrCreate方法来实现,但发现它好像没有正确更新CPF之外的其他字段(比如姓名、电话)。下面是我目前的代码:

Import类代码

public function collection(Collection $collection)
{
    foreach ($collection as $row) {
        Clientes::updateOrCreate(
            ['cpf' => $row[1]],
            [
                'nome' => $row[2],
                'telefone1' => $row[0],
            ]
        );
    }
}

Controller代码

public function import(Request $request)
{
    $import = (new ImportTelefones(2));
    Excel::import($import, $request->file);
    return redirect()->back();
}

有没有大佬能帮我排查下问题出在哪?或者有没有更合适的方法实现这个需求?万分感谢!

备注:内容来源于stack exchange,提问作者Carlos Leonardo Silva de Olive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:27:46