【问题标题】:Updating table column with value from another column in same table使用同一表中另一列的值更新表列
【发布时间】:2019-05-13 12:04:30
【问题描述】:

我需要复制一列,但我也不想删除旧的。将值从一列复制到另一列的正确方法是什么?我已经尝试过这样的事情,但它不起作用:

Users::update([
    'from_status' => 'status'
]);

我不得不提一下,使用MySQL Workbench 我已经在表中添加了新列(它是from_status 列)。 也可以通过这种方式一次更新多个列吗? status 列不是我要复制的唯一列。

【问题讨论】:

    标签: laravel eloquent


    【解决方案1】:

    有几种方法可以完成此任务。最简单、最直接的方法之一如下:

    $users = User::all();
    foreach($users as $user){
       $user->from_status = $user->status;
       $user->save();
    }
    

    这种方式也可以一次更新多列吗?

    是的。以同样的方式为每一列添加一行:

    $users = User::all();
    foreach($users as $user){
       $user->from_status = $user->status;
       $user->column2 = $user->some_column;
       $user->save();
    }
    

    【讨论】:

      猜你喜欢
      • 2020-09-09
      • 2023-01-11
      • 1970-01-01
      • 2019-07-25
      • 2021-06-20
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多