Laravel 5.5.23 Released
Published on by Paul Redmond
Laravel v5.5.23 is now available with the latest additions, changes, and fixes!
This release adds some accessors methods to BelongsToMany
by Taylor Otwell, and a firstWhere()
method to collections by Joseph Sibler.
???? There’s a new “firstWhere” method coming to the collection class in @laravelphp 5.5.23.
Works the same as “first”, but with operators instead of a callback ???? pic.twitter.com/NrAe0BuX1o
— Joseph Silber (@joseph_silber) December 1, 2017
You can use the firstWhere()
works like first()
but with operators instead of a callback:
// Default operator is `=`$firstActiveUser = $users->firstWhere('active', true);$firstAdultUser = $users->firstWhere('age', '>=', 18);
Typically, you would use first()
to do the same before this release:
$firstActiveUser = $users->first(function ($user) { return $user->active === true;}); $firstAdultUser = $users->first(function ($user) { return $user->age >= 18;});
The new firstWhere
is an excellent option that I’ve already found myself using in a couple of places, and you can still use first()
if you prefer.
Joseph is also known for Bouncer, a package for Laravel roles and ability authorization.
Again, we’d like to thank Till Kruss for putting together the changelog for Laravel releases, and all of the contributors that make Laravel better with each release.
v5.5.23 (2017-12-04)
Added
- Added a
Collection::firstWhere()
method (#22261, #22264) - Added several accessors to
BelongsToMany
(f09ea98, cbe8123, 3bcf9d1)
Changed
- Pass test value to
Collection::when()
callbacks (#22224) - Support worker sleep time of less than 1s (#22246, #22255)
- Detect persistent connection resets (#22277)
- Support chaining seeders (#22288)
Fixed
- Fixed negative comparison to objects in
Collection::where()
(#22256) - Fixed comparing strings with objects that can be casted to string in
Collection::where()
(#22295) - Fixed integer validation using
distinct:ignore_case
(#22235) - Fixes building nested JSON accessors in
MySqlGrammar
(#22254) - Remove
SELECT
bindings from MySQL delete statements (#22285)