Laravel Query Builder的updateOrInsert函数有哪些细节?

时间:2017-11-20 18:03:10

标签: php mysql laravel laravel-5

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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

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')
    ]
);