Laravel 9.25版本发布
Laravel团队发布了9.25版本,其中包含一个新的字符串方法,使用查询构建器大规模更新模型时间戳等等:
字符串方法:whenNotExactly
Anjorin Damilare提供了一个whenNotExactly字符串方法,
如果字符串与给定值不完全匹配,该方法将执行给定的回调:
use Illuminate\Support\Str;
// Returns `Iron Man`
Str::of('Tony')
->whenNotExactly('Tony Stark', function ($stringable) {
return 'Iron Man';
}));
// Provide an optional default value if `false`
// Returns `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():
// Mass updating the updated_at column
User::query()->touch();
// With query constraints
User::where('email', 'like', '%@company.com')->touch();
// Touching a specific column
Post::query()->touch('published_at');
发行说明
您可以在下面查看新功能和更新的完整列表以及GitHub 上9.24.0 和 9.25.0之间的差异。
以下发行说明直接来自变更日志:
https://github.com/laravel/framework/compare/v9.24.0...v9.25.0
https://github.com/laravel/framework/blob/f01d8b95bed1882f5c08902ae6601f2f92be83c5/CHANGELOG.md#v9250---2022-08-16
v9.25.0
添加
添加 whenNotExactly 到 Stringable ( #43700 )
为 Model::query()->touch() 添加了批量更新时间戳的功能 ( #43665 )
修复
使用不受支持的列时防止 db/model 命令出错 ( #43635 )
修复 ensureDependenciesExist 运行时错误 ( #43626 )
在 php 8.1 ( #43706 )中自动转换字段的 Null 值导致了贬损警告
db:table 命令正确处理不存在的表 ( #43669 )
改变
在 db 命令中处理关联模式 ( #43636 )
允许在数组和模型上使用 chunkById ( #43666 )
允许 int 值参数到 whereMonth() 和 whereDay() ( #43668 )
清理旧的 if-else 语句 ( #43712 )
确保对 css 资产使用正确的“完整性”值 ( #43714 )
相关文章