你好,我想使用laravel更新另一个表上的单个值.这是我到目前为止所做的代码,但似乎不起作用:

        $amount = Product::findorFail($request->products[$i]);
        $total_value = $request->amount[$i] + $amount->amount;
        $amount->update(['amount', $total_value]);
        dd($total_value);

对于dd,我看到结果是正确的,但更新函数不正确,im试图进行的查询是

update table set amount=x where id=y

推荐答案

你有多个 Select .这些短裤是:

$amount->update(['amount'=> $amount->amount + request->amount[$i]]);

or

Product::findorFail($request->products[$i])->increment('amount', $request->amount[$i]);

Laravel相关问答推荐

如何传递多个参数给路由

assertSee 由于 html 代码中的空格而失败

Laravel 验证 - 不同的属性规范

如何更新 Laravel 4 中现有的 Eloquent 关系?

RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException

Laravel API 版本控制文件夹 struct

Laravel belongsToMany 关系在两个表上定义本地键

Laravel 4 的 Cron 作业(job)

错误:您的要求无法解析为一组可安装的软件包.

如何在 Laravel 中创建类别的嵌套列表?

调用未定义的函数 mb_strimwidth

如何更改 ember-cli 中的 dist 文件夹路径?

为什么客户凭证应该与 Laravel Passport 中的用户相关联?

Laravel 分页方法不适用于 map 集合?

日期验证 - 如何本地化/翻译字符串今天和明天

Laravel Mix 生成字体到另一个目录

嘲笑没有匹配的关闭处理程序

Lumen/Laravel 6:调用未定义的函数 array_except()

如何在没有日志(log)、没有信息的情况下调试 Laravel 错误 500

如果参数不是整数,如何以不同方式定义路由