Laravel 5.5.33 уже доступен для установки. Что нового?

Laravel 5.5.33 вышел 29 Января 2018г. В обновлении добавлены новые методы для работы с коллекциями и тестирования.

Jonathan Reinink добавил "not exists" метод в Query Builder - doesntExist():

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

Roberto Aguilar добавил новый assert assertHeaderMissing() обратный для метода assertHeader():

$response->assertHeaderMissing('Location');

В Illuminate\Support\Collection обновился метод unique(), спасибо Justin Seliga:

use \Illuminate\Support\Collection;
>>> $c = new Collection([
...     ['id' => '1', 'name' => 'first'],
...     ['id' => '1', 'name' => 'second'],
...     ['id' => '3', 'name' => 'third'],
... ]);

>>> $c->unique->id
=> Illuminate\Support\Collection {#751
  all: [
    0 => [
        "id" => "1",
        "name" => "first",
    ],
    2 => [
        "id" => "3",
        "name" => "third",
    ],
  ],
}

Метод withTrashed() теперь можно вызывать с boolean флагом (true/false), который определяет показывать или нет удаленые результаты. Спасибо Kuba Szymanowski:

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

Данную "фичу" можно использовать для более удобного контроля над удалеными объектами. Конечно, вы может продолжать использовать withTrashed() как раньше, без указания флага. Обратная совместимость не сломалась. Пример:

// 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) {
    $query->withTrashed();
  }

  return $query->get();
}

Полный список изменений Laravel 5.5.33:

 

v5.5.33 (2018-01-30)

Added

  • 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)

Changed

  • 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)

Опубликовано:

Категории: Новости