Laravel 6.7.0 发布
发布日期:作者: Paul Redmond
Laravel 团队本周发布了 6.x 的次要版本 v6.7.0,其中包含最新的功能、更改和修复。
HasTimestamps
关注点有两个新方法,用于返回创建和更新时间戳列的限定列。
$model->getQualifiedCreatedAtColumn();// i.e., users.created_at $model->getQualifiedUpdatedAtColumn();// i.e., users.updated_at
应用程序 Handler
类上的新 exceptionContext()
方法提供了额外的自定义日志记录上下文。
// App/Exceptions/Handler.phpprotected function exceptionContext(Exception $e){ if ($e instanceof CustomException) { return ['custom_context' => $e->getCustomProperty()]; } return parent::exceptionContext($e);}
Postmark 传输现在将抛出错误,而不是静默失败。应用程序无需更改;通过更新到 v6.7 版本,您将受益于 Postmark 未返回 200 状态码时的异常。
一个重要的 withoutRelations()
方法现在在模型上可用,以允许在队列作业中卸载模型的关系。
由于加载的关系也会被序列化,因此序列化的作业字符串可能会变得非常大。为了防止关系被序列化,您可以在设置属性值时在模型上调用 withoutRelations 方法。此方法将返回一个没有加载关系的模型实例。
以下是在队列作业构造函数中的示例,它复制模型实例并卸载关系。
/** * Create a new job instance. * * @param \App\Podcast $podcast * @return void */public function __construct(Podcast $podcast){ $this->podcast = $podcast->withoutRelations();}
阅读更新的 队列文档 以了解更多详细信息。
资源集合现在可以通过 preserveQueryParameters()
方法在分页的 API 资源上保留查询参数。
return MyResourceCollection::make($repository->paginate()) ->preserveQueryParameters();
您可以在下面看到所有新功能和更新的完整列表,以及 GitHub 上 6.6.2 和 6.7.0 之间的全部差异。Laravel 6.0 的完整发行说明可在 GitHub v6 变更日志 中找到。
v6.7.0
添加
- 在
HasTimestamps
关注点中添加了getQualifiedCreatedAtColumn()
和getQualifiedUpdatedAtColumn()
方法 (#30792) - 在
Exceptions\Handler
中添加了exceptionContext()
方法 (#30780) - 添加了 Postmark 传输抛出错误的功能 (#30799, 4320b82)
- 在
HasRelationships
中添加了withoutRelations()
和unsetRelations()
方法 (#30802) - 添加了
ResourceCollection::preserveQueryParameters()
以在分页的 API 资源上保留查询参数 (#30745, e92a708)