php - php/laravel 可以批量更新()

标签 php mysql laravel

假设我正在创建一个银行管理系统。 我想激活一些用户的帐户。这样我就可以...

$ids = [1, 2, 3];
User::where(function($enq) use($ids) {
    foreach ($ids as $id)
        $enq->orwhere('id', $id);
})->update(['activated'=>true]);

但是让他们的钱自动增加 10 美元怎么样?

    $ids = [1, 2, 3];
User::where(function($enq) use($ids) {
    foreach ($ids as $id)
        $enq->orwhere('id', $id);
})->update(function(){
    //what should I write here??? maybe I can write
    //$this_obj->money+=10;
});

最大的问题是,我无法在 update() 中获取“当前对象”。 我的英语不是很好,我希望我的描述不会让任何人感到困惑。 我希望能得到一个好的解决方案。谢谢!

最佳答案

查询生成器包含一个可以处理此问题的增量方法:

User::whereIn('id', $ids)->increment('money', 10);

请注意,我还使用了 whereIn 方法作为 orwhere 调用循环的简单替代。

关于php - php/laravel 可以批量更新(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46426320/

相关文章:

php - LinkedIN:阻止自动登录而不要求允许访问(JavaScript)

php - 如何在 PHP 中包含 Imagick

php - Laravel Forge 上的 Laravel Nova 错误 403 页面

php - Laravel Request::is() - 有更好的方法吗?

php - 一节长课还是多节短课?

mysql - 无法写入文件(mysql 命令)

mysql - 如何在 12.04 LTS 上安装 mtop?

php - Mysql UPDATE 查询错误

php - 身份验证后始终重定向到根路径 [laravel]

php - Laravel 中如何分离 Controller 方法?