Laravel 7.15 发布
在 Laravel v7.15.0 中,Laravel 团队提供了 withToken()
,这是一个新的模型方法,用于在 Model 类之外定义模型关联,还附带一些 laravel7.x 中的问题修复。
Models 关联的扩展性
Gergő D. Nagy 为 Model 提供了 resolveRelationUsing
方法,该方法允许在 Model 类之外定义模型关联。
Order::resolveRelationUsing('customer', function ($model) {
return $model->belongsTo(Customer::class, 'customer_id');
});
测试辅助方法 withToken()
Aryeh Raber 提供了 withToken()
方法,一个辅助 HTTP 测试的方法。
// 之前 withHeader 中使用
$response = $this->withHeader('Authorization', 'Bearer test_token')->postJson('/some-endpoint');
// 使用 withToken() 辅助方法
$response = $this->withToken('test_token')->postJson('/some-endpoint');
更多的 Model
艾哈迈德·赛义德 贡献了一个 makeMany()
来创建许多相关的模型而不用去保存。 前方连接请求提供了以下示例:
public function orderTickets(string $email, int $ticket_quantity)
{
$order = $this->orders()->create(['email' => $email]);
$order->tickets()->insert(
$order->tickets()->makeMany(
collect()->pad($ticket_quantity, [])
)->toArray()
);
return $order;
}
外部 UUID 列定义
保罗·亚当斯 贡献了一个 foreignUuid()
uuid外建的列定义。 这里有一些此请求的测试例子:
$table->foreignUuid('company_id')->constrained();
$table->foreignUuid('laravel_idea_id')->constrained();
$table->foreignUuid('team_id')->references('id')->on('teams');
$table->foreignUuid('team_column_id')->constrained('teams');
设置事件处理队列
@lupinitylabs 提供了定义 viaQueue()
方法的能力,以定义要使用的队列:
该请求建议对Dispatcher类进行不间断的更改,允许用户通过在监听器中定义一个
viaQueue()
方法来设置队列名称,就像使用retryAfter和retryUntil方法已经完成的那样。如果未定义getQueue方法,则代码会返回到使用
$queue
属性或空值(与以前一样)。此更改的好处是为开发人员提供了一种灵活的方式来影响目标队列,而不必对它们进行硬编码。
发行说明
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
求求你别再更新了,我快学不完了
修复了版本过低的bug 优化了公司人太少的bug
makeMany
感觉应该是为了解决直接使用关联关系的createMany
方法时 SQL 条数很多的情况。