5.5.33 is now available as of Monday, January 29th with some excellent convenience methods ranging from the query builder to collections and testing.

First up Jonathan Reinink added a “not exists” method to the query builder which is named doesntExist():

User::where('email', '')->doesntExist();

Roberto Aguilar added a new test response assertion assertHeaderMissing() that is the inverse of the assertHeader():


The IlluminateSupportCollection now has a new higher order unique(), which was contributed by Justin Seliga:

Here’s an example from a php artisan tinker session if you want to experiment:

use IlluminateSupportCollection;
>>> $c = new Collection([
...      ['id' => '1', 'name' => 'first'],
...      ['id' => '1', 'name' => 'second'],
...      ['id' => '3', 'name' => 'third'],
... ]);
>>> $c->unique->id
=> IlluminateSupportCollection {#751
     all: [
       0 => [
         "id" => "1",
         "name" => "first",
       2 => [
         "id" => "3",
         "name" => "third",

A Boolean toggle was added to withTrashed() by Kuba Szymanowski, which decides whether or not to included trashed records:

Model::withTrashed(true)->get(); // Retrieves trashed records
Model::withTrashed(false)->get(); // Does not retrieve trashed records

The use-case is to avoid a splitting control flow, but you can continue to use withTrashed() without passing any arguments. Here’s an example to further understand the change:

// New use-case
public function index(Request $request)
    return User::withTrashed($request->showDeleted)->get();

// Before pre-5.5.33, you can continue to do this...
public function index(Request $request)
    $query = User::query();

    if ($request->showDeleted) {

    return $query->get();

Here are the full notes for Laravel 5.5.33:

v5.5.33 (-01-30)


  • Added notExists() method to query builder (#22836, 9d2a7ca)
  • Added assertHeaderMissing() assertion (#22849, #22866)
  • Added support for higher order unique (#22851)
  • Added boolean toggle to withTrashed() (#22888)


  • Support Mix HMR with different host/port (#22826, 24897d6)
  • Make route filtering by method case-insensitive (#22856)
  • Added missing PostgreSQL operator for array overlap (#22903)

Source link


Please enter your comment!
Please enter your name here