News

Laravel 5.7.13 Released

Published
Laravel 5.7.13 Released image

Laravel 5.7.13 was released Wednesday with some new collection methods and the ability to return an array of messages in a custom validation rule.

First, new empty collection methods were added, including whenEmpty, whenNotEmpty, unlessEmpty, and unlessNotEmpty. For example, the whenEmpty method will fire this callback on an empty collection:

<?php
 
use Illuminate\Support\Collection;
 
$collection = new Collection;
 
$collection->whenEmpty(function ($collection) {
return $collection->push('adam');
});
 
$this->assertSame(['adam'], $collection->toArray());

The unless* behave the opposite way:

<?php
 
use Illuminate\Support\Collection;
 
$collection = new Collection;
 
$collection->unlessEmpty(function ($collection) {
return $collection->push('adam');
});
 
$this->assertSame([], $collection->toArray());

If the collection isn’t empty, the unlessEmpty closure is called:

<?php
 
use Illuminate\Support\Collection;
 
$collection = new Collection(['user1', 'user2']);
 
$collection->unlessEmpty(function ($collection) {
return $collection->push('user3');
});
 
$this->assertSame(['user1', 'user2, 'user3'], $collection->toArray());

Next, the ability to add an array of validation messages to custom validation rules was added. In a custom validation rule, you can return an array of messages like so:

public function message()
{
return [
':attribute must be taylor',
':attribute must be a first name'
];
}

You can see the full diff between 5.7.12 and 5.7.13 on GitHub, and the full release notes below from the 5.7 changelog.

v5.7.13

Added

  • Added ability to return an array of messages in a custom validation rule (#26327)
  • Added whenEmpty/ whenNotEmpty / unlessEmpty / unlessNotEmpty methods to Collection (#26345)
  • Added Illuminate\Support\Collection::some method (#26376, 8f7e647)
  • Added Illuminate\Cache\Repository::missing method (#26351)
  • Added Macroable trait to Illuminate\View\Factory (#26361)
  • Added support for UNION aggregate queries (#26365)

Changed

  • Updated AbstractPaginator::appends to handle null (#26326)
  • Added “guzzlehttp/guzzle”: “^6.3”, to composer.json (#26328)
  • Showed exception message on 403 error page when message is available (#26356)
  • Don’t run TransformsRequest twice on ?query= parameters (#26366)
  • Added missing logging options to slack log driver (#26360)
  • Use cascade when truncating table in PostgreSQL (#26389)
  • Allowed pass absolute parameter in has valid signature request macro (#26397)

Changed realization

  • Used Request::validate macro in Auth traits (#26314)
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article