使用来自同一表中另一列的值更新表列

时间:2019-05-13 12:04:31

标签: laravel eloquent

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

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

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

1 个答案:

答案 0 :(得分: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();
}