laravel - 使用同一表中另一列的值更新表列
问题描述
我需要复制一列,但我也不想删除旧的。将值从一列复制到另一列的正确方法是什么?我已经尝试过这样的事情,但它不起作用:
Users::update([
'from_status' => 'status'
]);
我不得不提一下,使用MySQL Workbench
我已经在表中添加了新列(它是 column from_status
)。也可以通过这种方式一次更新多个列吗?Columnstatus
不是我要复制的唯一一个。
解决方案
有几种方法可以完成此任务。最简单和最直接的方法之一如下:
$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();
}
推荐阅读
- postgresql - 删除 knex migrate_lock 表 - 安全吗?
- cypress - 赛普拉斯:使用 within() 其他元素获取或返回元素
- java - 使用 jar 文件编译和运行 java
- python - 防止非全局导入
- sql - 如何从 API 中的 Snowflake Table 中高效且经济地获取分段数据?
- hive - hive sql 或 spark sql:将行中的值转换为列名
- firebase - 如何通过 Cloud Function 记录 Firebase Analytics 事件?
- bootloader - 如何创建支持安全启动的 USB 闪存
- azure - 在 AzureDevOps 管道中找不到 Maven POM 文件
- javascript - 如何在js字符串中使用多种字体?