Rule::array() 和 whereJsonOverlaps() 用于 Laravel 11.7 中的 MySQL
上次更新于 作者: Paul Redmond
本周,Laravel 团队发布了 v11.7,其中包含 Rule::array()
验证方法、用于 MySQL 的 whereJsonOverlaps()
方法、Laravel Socialite 的 Slack OpenID 提供程序等等。
介绍 Rule::array() 方法
Jakub Potocký 贡献了 Rule::array()
方法,用于使用 array
验证规则来验证多个数组键。此方法允许在没有连接动态值的情况下使用此规则与数组和集合进行交互
use Illuminate\Validation\Rule; // Before['array:' . MyBackedEnum::VALUE->value . ',' . MyBackedEnum::VALUE_2->value]; // After examplesRule::array('key_1', 'key_2', 'key_3');Rule::array(['key_1', 'key_2', 'key_3']);Rule::array(collect(['key_1', 'key_2', 'key_3']));Rule::array([UnitEnum::key_1, UnitEnum::key_2, UnitEnum::key_3]);Rule::array([BackedEnum::key_1, BackedEnum::key_2, BackedEnum::key_3]);
有关完整详细信息,请参阅 拉取请求 #51250。
blank() 和 filled() 辅助函数中的 Stringable 支持
Stefan R. 贡献了对 blank()
和 filled()
辅助函数中的 Stringable
值的支持
// truefilled(str('FooBar ')); // trueblank(str(' '));
为 MySQL 添加 "whereJsonOverlaps()"
Benjamin Ayles 贡献了对 MySQL 的 json_overlaps 功能的支持,该功能比较两个 JSON 文档
User::whereJsonOverlaps('languages', ['en', 'fr'])->exists();User::whereJsonDoesntOverlap('languages', ['en', 'fr'])->exists();
有关更多详细信息和讨论,请参阅 拉取请求 #51288。
PasswordResetLinkSent
事件
添加 Matt Jones 贡献了一个名为 PasswordResetLinkSent
的新事件,该事件在发送密码重置链接时触发。有关更多详细信息,请参阅 拉取请求 #51253。
Laravel Socialite 的 Slack OpenID 提供程序
Maarten Paauw 贡献了 Laravel Socialite 的一个独立的 Slack OpenID 提供程序。有关详细信息以及 Slack 文档的链接,请参阅 拉取请求 #704。
发布说明
您可以在下面看到新功能和更新的完整列表,以及 GitHub 上 11.6.0 和 11.7.0 之间的差异。以下发布说明直接来自 变更日志
v11.7.0
- [11.x] 修复 SesV2Transport 使用 @Tietew 在 https://github.com/laravel/framework/pull/51265 中的正确
EmailTags
参数 - [11.x] 通过 @Jubeki 在 https://github.com/laravel/framework/pull/51218 中添加数据库夜间工作流程
- [11.x] 通过 @browner12 在 https://github.com/laravel/framework/pull/51274 中更新 "min" 和 "max" 规则注释
- [11.x] 通过 @saMahmoudzadeh 在 https://github.com/laravel/framework/pull/51280 中修复
ClassMakeCommandTest.php
中的命名空间并改进 PSR - [11.x] 通过 @saMahmoudzadeh 在 https://github.com/laravel/framework/pull/51271 中改进视图组件的测试覆盖率。
- [11.x] 通过 @Jacobs63 在 https://github.com/laravel/framework/pull/51250 中介绍方法
Rule::array()
- [11.x] 通过 @SanderMuller 在 https://github.com/laravel/framework/pull/51295 中修复集合 pluck 方法的 docblock
- [11.x] 通过 @hrant1020 在 https://github.com/laravel/framework/pull/51289 中添加测试以处理非烘焙枚举和空字符串请求
- blank 和 filled 现在支持 @lava83 在 https://github.com/laravel/framework/pull/51300 中的 stringable
- [11.x] 通过 @ahmedbally 在 https://github.com/laravel/framework/pull/51296 中修复高比率图像的比率验证
- [11.x] 通过 @trippo 在 https://github.com/laravel/framework/pull/51314 中向 e 方法添加 int|float 支持
- [11.x] 通过 @driesvints 在 https://github.com/laravel/framework/pull/51310 中添加发布说明
- [11.x]
Stringable
也是 @lava83 在 https://github.com/laravel/framework/pull/51309 中的 symfony 接口 - [11.x] 通过 @saMahmoudzadeh 在 https://github.com/laravel/framework/pull/51308 中为
Str::camel
添加一些测试并改进测试覆盖率 - [11.x] 通过 @saMahmoudzadeh 在 https://github.com/laravel/framework/pull/51305 中使用
??
运算符(空合并运算符) - [11.x] 通过 @ahmedabdel3al 在 https://github.com/laravel/framework/pull/51292 中添加能够覆盖应用程序的默认加载缓存路由
- [11.x] 通过 @parkourben99 在 https://github.com/laravel/framework/pull/51288 中添加 ->whereJsonOverlaps() 用于 mysql
- [11.x] 通过 @aydinfatih 在 https://github.com/laravel/framework/pull/51316 中向
ValidatedInput
添加InteractsWithInput
方法 - [11.x] 通过 @Muffinman 在 https://github.com/laravel/framework/pull/51253 中添加 PasswordResetLinkSent 事件