Laravel 5.4.17 发布
发布于 作者 Eric L. Barnes
今天 Laravel 发布了 v5.4.17 版本,其中包含了一些新功能,包括 Collection Times 方法、迁移改进等。
Collection::Times()
感谢 Joseph Silber 为 Collection 系统添加了新的“Times”方法,允许您执行以下操作
$slugs = Collection::times(5, function ($number) {return 'slug-'.$number;}); // ['slug-1', 'slug-2', 'slug-3', 'slug-4', 'slug-5'];
或者在 模型工厂 中
$products = Collection::times(5, function ($number) {return factory(Product::class)->create(['name' => 'Product #'.$number]);});
Laravel 迁移
在创建迁移时,Laravel 希望您定义“up”方法和“down”方法。这样系统就知道需要根据您要执行的方向进行更改和重置。现在在 v5.4.17 中,迁移只会调用“up”或“down”方法,如果该方法存在。
V5.4.17 的其他更改包括
- 在 Illuminate\Queue\Worker 中添加 getManager() 和 setManager()
- 添加了设置 beanstalkd 队列连接的“timeout”和“persistent”选项的功能
- 添加了 Collection::times() 方法
- 添加了在 Collection 的高阶消息传递中使用 flatMap 的功能
- 添加了对 migrate:reset 中多个 — path 的支持
- 在发送消息后将 SparkPost Transmission-ID 存储在标题中
- 添加了自定义 Scheduled 命令中使用的非重叠策略的功能
- 只有在方法存在时才调用迁移的 up() 和 down() 方法
- 修复了在多个具有相同路径和方法的路由存在时缓存路由的问题
- 在解析路由依赖项时保留路由参数名称