Laravel Query Builder 的 updateOrInsert 函数有哪些具体特点?

问题描述 投票:0回答:1

Laravel 文档中没有这个函数;我在源代码中找到了它;但是,我不完全确定应该如何使用它。例如,如果我正在处理产品,我想根据其 UPC 在数据库中插入或更新产品。如果存在具有相同 UPC 的产品,请使用新值更新它。如果不是,请将新值作为新产品插入。应该如何使用此功能来完成此操作?

php mysql laravel laravel-5
1个回答
9
投票

插入或更新与属性匹配的记录,并用值填充它。

updateOrInsert(array $attributes, array $values = []) 

https://laravel.com/api/master/Illuminate/Database/Query/Builder.html#method_updateOrInsert

DB::table('products')->updateOrInsert(
    [
        'upc' => $request->get('upc'),
    ],
    [
        'upc' => $request->get('upc'),
        'name' => $request->get('name'),
        'vendor' => $request->get('vendor'),
        'description' => $request->get('description')
    ]
);
© www.soinside.com 2019 - 2024. All rights reserved.