Laravel 10.5版本发布

2023-06-01 00:00:00 laravel 版本 发布

Laravel团队最近发布了Laravel框架的10.5版本, 有几个新的功能和更新. 

其中包括Stringable替换的大小写标志, 支持传递空列给数据库构建器insertUsing方法, 以及一个新的数据库连接方法selectResultsets.

此外,该版本还包括错误修复和变化,例如改进了DynamoDbStore的多键操作中的空数组处理,以及通过one()删除关系中的重复约束。


字符串替换的大小写标志

Maarten Paauw为字符串替换贡献了一个大小写敏感的标志:

// Case-insensitive Stringable example
// foo/foo/foo
Str::of('x/x/x')->replace('X', 'foo', false);
 
// Case-insensitive
// foo bar laravel
Str::replace('baz', 'laravel', 'foo bar Baz', false);
 
// Default case-sensitive will not replace `Baz` with `laravel`
Str::replace('baz', 'laravel', 'foo bar Baz'); // foo bar Baz


允许insertUsing有空列

Jonny Nott增加了对数据库的支持,即通过空列或['*']来插入源文件中的所有列到目标文件:

$builder->from('table1')->insertUsing(
    [],
    function (Builder $query) {
        $query->from('table2')->where('foreign_id', '=', 5);
    }
);
 
// insert into "table1" select * from "table2" where "foreign_id" = ?'


数据库selectResultsets方法

Istvan Palinkas贡献了一个数据库连接方法,它针对数据库运行一个选择语句并返回所有的结果集:

[
    $user_params,
    $user_notifications
] = DB::selectResultsets("CALL get_user_params_and_notifications(?)", Auth::id());


发布说明

你可以在GitHub上看到以下完整的新功能和更新列表以及10.4.0和10.5.1之间的差异。

下面的发行说明直接来自更新日志:

https://github.com/laravel/framework/compare/v10.4.0...v10.5.1
https://github.com/laravel/framework/blob/6316655d0bc823854aa3397d2f21515a5eb03929/CHANGELOG.md#v1051-2023-03-29


v10.5.1

已添加
增加了确定API资源是否加载了透视的方法(#46555)。
为Stringable替换函数添加了caseSensitive标志(#46578)
允许insert.select(insertUsing())有空的$columns(#46605, 399bff9)。
增加了Illuminate/Database/Connection::selectResultSets() (#46592)

已更改
确保透视模型有先前定义的值(#46559)
将SetUniqueIds移至创建事件之前运行(#46622)


v10.5.0

已添加
新增 Illuminate/Cache/CacheManager::setApplication() (#46594)

修复了
修复了Horizon上批处理列表的无限加载(#46536)。
修复MySql语法的原始表达式的whereNull查询 (#46538)
修复了使用AsEnumArrayObject/AsEnumCollection时的getDirty方法 (#46561)

改变了
跳过Illuminate/Support/Reflector::isParameterBackedEnumWithStringBackingType用于非ReflectionNamedType (#46511)
用模式感知的比较器取代废弃的DBAL比较器创建(#46517)
增加了Storage::json()方法来读取和解码json文件(#46548)
在DatabaseBatchRepository中强制将json解码的 failed_job_ids投到数组中 (#46581)
处理DynamoDbStore多键操作的空数组(#46579)
停止通过one()在*多对*一关系上两次添加约束(#46575)
允许重写Builder paginate()总数 (#46415)
增加为Http Facade设置自定义on_stats函数的可能性(#46569)


转:

https://laravel-news.com/laravel-10-5-0

相关文章