Laravel 9.25 发布
Laravel 团队发布了 9.25,其中包含一个新的字符串方法,使用查询构建器大规模更新模型时间戳等等:
字符串方法 whenNotExactly
Anjorin Damilare 提供了一个 whenNotExactly
字符串方法,如果字符串与给定值不完全匹配,它将执行给定回调:
use Illuminate\Support\Str;
// 返回“钢铁侠”
Str::of('Tony')
->whenNotExactly('Tony Stark', function ($stringable) {
return 'Iron Man';
}));
// 如果为 `false`,则提供可选的默认值
// 返回 `Swing and a miss...!`
Str::of('Tony Stark')
->whenNotExactly('Tony Stark', function ($stringable) {
return 'Iron Man';
}, function ($stringable) {
return 'Swing and a miss...!';
}));
模型查询 touch()
方法来批量更新时间戳
Steve Bauman 为模型查询构建器贡献了一个 touch()
方法,它允许你在有或没有查询约束的情况下修改模型的时间戳。它的行为类似于 Model::touch()
:
// 批量更新 updated_at 列
User::query()->touch();
// 有查询约束
User::where('email', 'like', '%@company.com')->touch();
// touch 特定列
Post::query()->touch('published_at');
发行说明
你可以在在 GitHub 上查看新功能和更新的完整列表以及 9.24.0 and 9.25.0 的差异。以下发行说明直接来自 changelog:
v9.25.0
新增
修复
- 使用不支持的列时防止
db
/model
命令出错 (#43635) - 修复
ensureDependenciesExist
运行时错误 (#43626) - 自动转换字段的空值导致 php 8.1 中的反对警告(#43706)
db:table
命令正确处理不存在的表 (#43669)
变更
- 在
db
命令中处理关联模式 (#43636) - 允许在数组和模型上使用 chunkById (#43666)
- 允许
whereMonth()
和whereDay()
的 int 值参数 (#43668) - 清理旧的 if-else 语句 (#43712)
- 确保对 css 资源使用正确的「完整性」值 (#43714)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
请问下这个版本更新有归档吗?之前有个更新里面有个需要调整,一时记不起了,想翻翻更新归档