Laravel 9.47

Laravel 9.47

 

Laravel 9.47 发布啦!更新速览~

Laravel 9.47

 

Laravel 团队近期发布了 9.47,其中包含新的 Eloquent 集合可见性方法、「可销毁的」单例路由、支持带有 batch fake 的懒加载集合等等:

 

新的 Eloquent 集合可见性方法

Jess Archer 为 Eloquent 集合贡献了 setVisible 和 setHidden 方法。 当你想明确要返回的数据时,setVisible 方法很有用,并且它不会在向模型添加新属性时泄漏:

1

2

3

4

5

6

7

8

9

$users->setVisible(['id', 'name'])->toArray();

/*

[

    [

        'id' => 1,

        'name' => 'Test User',

    ]

]

*/

如果你只有几个要显式隐藏的字段,但通常希望默认值可见,则相反的 setHidden 很有用。

 

在 BatchFake 中支持懒加载集合

Evan Burrell 在将 withFakeBatch() 与作业一起使用时贡献了对 LazyCollection 的支持。 由于此功能,现在可以使用以下功能:

1

2

3

4

5

6

7

8

9

10

11

12

13

use Batchable;

Model::cursor()

    ->map(fn (Model $model) => new ModelJob($model))

    ->chunk(1000)

    ->each(function (LazyCollection $jobs) {

        $this->batch->add($jobs);

    });

// 相关测试

[$job] = (new ModelJobBatch())->withFakeBatch();

$job->handle();

 

“可销毁的”单例路由

Choraimy Kroonstuiver 贡献了一个简单的方法,将单例路由标记为”可销毁”。这种类型的路由可以被删除,但默认不会被创建。

1

2

3

4

5

// 以前

Route::singleton(...)->creatable()->except('create', 'store');

// 之后

Route::singleton(...)->destroyable();

发布说明

你可以在GitHub上看到以下完整的新功能和更新列表以及 9.46.0和9.47.0 之间的差异。下面的发行说明直接来自 changelog

 

v9.47.0

新增

  • 在 BatchFake::add() 中添加了支持懒加载集合 (#45507)
  • 添加小数到数字规则列表(#45533)
  • 添加 Illuminate/Routing/PendingSingletonResourceRegistration::destroyable() 可销毁路由 (#45549)
  • 将 setVisible 和 setHidden 添加到 Eloquent 集合 (#45558)

修复

  • 修复绑定方法上下文绑定 (#45500)
  • 修复方法 explodeExplicitRule 与正则表达式规则 (#45555)
  • 修复 Illuminate/Database/Query/Builder::whereIntegerInRaw() 方法 (#45584)
  • 修复模板标签(#45490)

修改

  • 转换属性时返回模型
    (#45539)
  • 始终显示完整的迁移路径 Illuminate/Database/Console/Migrations/MigrateMakeCommand.php (9f6ff48)
  • 在 MySQL 上添加主键时删除索引名称 (#45515)

 

参考链接:Laravel 9.47 发布啦!更新速览~

友情链接:https://www.ccwisdom.com/industrynews/