Laravel团队发布了9.24版本,新的工匠 "db "命令,一个新的内置验证规则,恢复软删除的模型,没有任何事件,以及更多。
新的数据库Artisan命令
James Brooks为数据库贡献了三个新的Artisan命令。db:show,db:table, 和db:monitor 。
首先,db:show 给你一个数据库的概述。它包括像数据库类型、版本、用户名等等。

接下来,db:table 命令让你看到一个表的细节,包括行的数量,列的细节,索引,等等。

最后,db:monitor 命令让你看到数据库的连接数等信息。

"does not end with "验证规则
@kichetof贡献了一个doesnt_end_with 验证规则,用于检查一个字符串是否不以给定的子串结尾。这里有一个来自拉动请求测试的例子。
// Validation passes
$v = new Validator(
$trans,
['x' => 'hello world'],
['x' => 'doesnt_end_with:hello']
);
$this->assertTrue($v->passes());
// Validation fails
$v = new Validator(
$trans,
['x' => 'hello world'],
['x' => 'doesnt_end_with:world']
);
$this->assertFalse($v->passes());
恢复一个没有事件的 "软删除 "模型
Venelin Iliev贡献了一个restoreQuietly() 方法,可以在不引发任何事件的情况下恢复一个软删除的模型。
$deletedModel->restoreQuietly();
让Config repository成为宏程序
Chris Kankiewicz贡献了在Config 仓库中添加 macroable 特质,这样用户就可以在他们的应用程序中扩展它。
config()->macro('sayHello', function () {
return 'Hello, world';
});
config()->sayHello(); // Hello, world
版本说明
你可以在GitHub上看到以下完整的新功能和更新列表以及9.23.0和9.24.0之间的差异。下面的发布说明直接来自于更新日志。
v9.24.0
新增
- 新的db:show, db:table 和 db:monitor 命令(#43367)
- 增加了验证doesnt_end_with规则(#43518)
- 添加了
Illuminate/Database/Eloquent/SoftDeletes::restoreQuietly()(#43550) - 为资源ConditionallyLoadsAttributes特性添加了mergeUnless(#43567)
- 添加了
Illuminate/Support/Testing/Fakes/NotificationFake::sentNotifications()(#43558) - 在
Illuminate/Database/Eloquent/Builder.php,将implode添加到Passthru(#43574) - 使配置库可实现宏(#43598)
- 为ConditionallyLoadsAtrribute trait添加whenNull(#43600)
- 将子路由模型关系名称提取到方法中(#43597)
撤销
修复
- 修复广播事件的唯一锁定(#43516)
- 修复了在windows下运行docs命令的问题(#43566,#43585)
- 修复了运行db:seed或在migrate命令中使用--seed时的输出问题(#43593)