php - Laravel Query Builder 的 updateOrInsert 函数有什么特点?

标签 php mysql laravel laravel-5

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

谢谢!

最佳答案

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

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

关于php - Laravel Query Builder 的 updateOrInsert 函数有什么特点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47398368/

相关文章:

php - 本地比赛开球时间

php - Mysql,查询成功,但没有结果输入DB

javascript - 从arraybuffer显示pdf

php - 按多列限制查询

php - 使用 php/mysql 系统显示错误消息

php - 计算与 IN 子句中的所有值匹配的所有行

php - 将mysql更改为mysqli错误

php - 如何连接 mysql 数据库中嵌套表值的值

PHP:$_SESSION 作为数组不起作用,不允许我添加新项目?

php - 从 Laravel 身份验证中排除路由