首页 > php框架 > Laravel > 正文

laravel怎么在不加载模型的情况下更新时间戳_laravel无需加载模型更新时间戳方法

裘德小鎮的故事
发布: 2025-11-18 08:12:05
原创
764人浏览过
答案:可通过DB门面或Eloquent查询构造器直接更新时间戳。使用DB::table('users')->where('id', 1)->update(['updated_at' => now()])避免模型加载;同理,App\Models\User::where('id', 1)->update(['updated_at' => now()])可跳过实例化,不触发事件;若字段名为last_modified等非默认名,需手动指定正确字段名以确保更新成功。

laravel怎么在不加载模型的情况下更新时间戳_laravel无需加载模型更新时间戳方法

如果您希望在 Laravel 中更新数据库记录的时间戳,但不想先从数据库中加载对应的模型实例,则可以直接使用查询构造器来完成操作,避免不必要的模型加载和内存消耗。

本文运行环境:MacBook Pro,macOS Sonoma

一、使用 DB 门面直接更新时间戳

通过 Laravel 的 DB 门面,可以构建原始的 SQL 更新语句,直接对指定记录的时间字段进行更新,而无需实例化任何 Eloquent 模型。这种方法适用于只需要修改时间戳且不涉及模型事件触发的场景。

1、引入 DB 门面,在控制器或服务代码中使用 use Illuminate\Support\Facades\DB;

2、调用 table 方法指定目标数据表名称,例如 users 表。

3、使用 where 条件定位需要更新的具体记录,如根据 id 筛选。

4、在 update 方法中显式设置 updated_at 字段为当前时间,示例:DB::table('users')->where('id', 1)->update(['updated_at' => now()]);

二、利用 Eloquent 查询构造器跳过模型加载

即使使用 Eloquent 模型类,也可以仅将其作为查询构造器的入口,而不实际加载模型实例。这种方式保留了模型关联表名的优势,同时避免了模型初始化开销。

1、调用模型的静态方法执行查询,例如 App\Models\User::class。

KAIZAN.ai
KAIZAN.ai

使用AI来改善客户服体验,提高忠诚度

KAIZAN.ai 35
查看详情 KAIZAN.ai

2、链式调用 where 方法精确匹配目标记录。

3、使用 update 方法传入包含时间戳字段的数据数组,示例:\App\Models\User::where('id', 1)->update(['updated_at' => now()]);

4、注意该方式不会触发模型的 saving、updating 等事件,也不会自动维护 created_at 字段。

三、自定义时间字段名称的处理方式

当您的数据表未使用 Laravel 默认的 created_at 和 updated_at 字段命名时,需确保手动指定正确字段名以实现准确更新。

1、确认数据库表中实际使用的时间戳字段名称,例如 last_modified。

2、在执行更新操作时,将字段名替换为实际名称,示例:DB::table('posts')->where('id', 5)->update(['last_modified' => now()]);

3、若使用模型查询构造器,同样需保持字段名一致,避免因拼写错误导致更新失败。

以上就是laravel怎么在不加载模型的情况下更新时间戳_laravel无需加载模型更新时间戳方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号