Laravel 11.10版本发布 - 使用带有updateOrInsert()的闭包
Laravel  /  管理员 发布于 6个月前   349
本周,Laravel团队发布了v11.10,能够将回调传递给updateOrInsert,
支持带有显式路由模型绑定的软删除模型,等等。
允许向updateOrInsert()传递回调
Mark Eriksson将回调作为第二个参数传递给updateOrInsert()查询生成器方法。
在回调中,传递布尔值$exists变量,这样您就可以根据记录是否存在来编写更新特定列的逻辑:
DB::table('users')->updateOrInsert(
['user_id' => $user_id],
function ($exists) use ($data) {
if ($exists) {
return [
'name' => $data['name'],
'email' => $data['email'],
];
}
return [
'name' => $data['name'],
'email' => $data['email'],
'optional_column' => $data['foobar'],
];
}
);
有关完整的实施详细信息,请参阅拉动请求#55166。
使用显式路由模型绑定时支持软删除模型
Graham Bradley在使用显式路由模型绑定时添加了对软删除模型的支持:
"当使用Laravel的显式路由模型绑定功能时,此PR允许解析软删除模型。
它允许开发人员在处理软删除模型时使用显式路由模型绑定,而无需自定义解析逻辑。
为此,它使用与隐式绑定相同的withTrashed()方法。"
// Before
Route::get('/users/{user}', ...);
Route::bind('user', function (string $value) {
return User::where('id', $value)->withTrashed()->firstOrFail();
});
// After
Route::get('/users/{user}', ...)->withTrashed();
Route::model('user', User::class);
有关完整的实施详细信息,请参阅“拉取请求”#51651。
允许在Mailer配置中设置重新发送API密钥
@riasvdv直接在mailer配置中设置Resend API密钥,而不仅仅是在服务配置中。
有关更多详细信息,请参阅请求号51618。
发布说明
你可以在下面看到新功能和更新的完整列表,以及GitHub上11.9.0和11.10.0之间的差异。
以下发行说明直接来自更改日志:
https://github.com/laravel/framework/compare/v11.9.0...v11.10.0
https://github.com/laravel/framework/blob/e404bd90a97b2e9ed8a3d2ef53a4312658a4a49a/CHANGELOG.md#v11100---2024-06-04
v11.10.0
[11.x]通过@Henridv修复文件名中的拼写错误
https://github.com/laravel/framework/pull/51643
[11.x]通过@riasvdvin将Vite自动刷新添加到错误页面
https://github.com/laravel/framework/pull/51635
[11.x]在中添加@imanghafoori1对join_path的测试
https://github.com/laravel/framework/pull/51621
[11.x]在中通过@jasonmccrreary为丢失的配置文件预加载基本选项
https://github.com/laravel/framework/pull/51619
[11.x]在中添加选项以禁用@taka oyama对基本配置的合并
https://github.com/laravel/framework/pull/51579
[11.x]如果@Markshall在中已经存在记录,
则允许将回调传递给updateOrInsert()以传递不同的$值
https://github.com/laravel/framework/pull/51566
[11.x]通过@imanghafoori1在中修复段“0”的join_path问题
https://github.com/laravel/framework/pull/51649
[11.x]删除中@nicolus在错误页面中多余的双引号
https://github.com/laravel/framework/pull/51670
[11.x]通过@saMahmoudzadeh在中添加测试以提高HtmlString的测试覆盖率
https://github.com/laravel/framework/pull/51666
[11.x]添加测试以提高中@saMahmoudzadeh对Arr::whereNotNull的测试覆盖率
https://github.com/laravel/framework/pull/51661
[11.x]在中通过@imanghafoori1为FileSystem类添加测试
https://github.com/laravel/framework/pull/51654
[11.x]在中通过@nathanpurcell更新OptimizeClearCommand.php
https://github.com/laravel/framework/pull/51667
[11.x]当使用中@gbradley的显式路由模型绑定时,支持软删除模型
https://github.com/laravel/framework/pull/51651
[11.x]添加Arr的测试::除以中的@saMahmoudzadeh
https://github.com/laravel/framework/pull/51673
[11.x]Prune应该是@riasvdvin的标志选项
https://github.com/laravel/framework/pull/51694
[11.x]如果app.debug在运行时被@crynobone更改为true,请避免使用Laravel新错误页面
https://github.com/laravel/framework/pull/51705
转:
https://laravel-news.com/laravel-11-10-0
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号