php - Laravel - 如何通过转换现有列值来更新查询

标签 php laravel eloquent

我有一个用户表,其中包含电话号码列。我想通过保留现有值的最后 9 个字符来更新表。

这是我正在使用的查询,但它对我不起作用。

$user = User::where('usertype','=',1)->get(); $user->update(['phone_number' => substr($user['phone_number'],-9)]);

我收到错误“未定义的数组键“phone_number”

最佳答案

您可以在数据库上执行此操作,而无需获取数据。

$numberOfAffectedRows = User::where('usertype','=',1)->update(['phone_number' => \DB::raw("SUBSTRING('phone_number',-9)")]);

关于php - Laravel - 如何通过转换现有列值来更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71638991/

相关文章:

php - 如何将两个选择与 1 个选项组合

php - 如何从 Laravel Artisan 触发单元测试

mysql - Laravel MySQL 如何按照与 whereIn 子句中相同的顺序对结果进行排序

php - Laravel belongsTo() 列命名问题

php - 如何让 PHPStorm 认为我的文件位于不同目录中以用于 Intellisense/completion?

php - Laravel 4使用eloquent创建记录时无法保存created_at字段

php - 多表查询分页和搜索返回所有表的结果,但如果没有其他表的任何内容,则不返回主表的结果

php - die() 会结束您在 PHP 中的 session 吗?

php - 使用 SQL 仅计算最近的行

php - 拉维尔 5 : Check if event date range is not already taken