Совсем недавно состоялся релиз минорной версии 5.2.22 нашего любимого фреймворка Laravel. Наряду с некоторыми небольшими исправлениями, есть несколько новых функций, давайте посмотрим на них.
1. Проверка уникальности массива
Новое правило для проверки, имеет ли массив только уникальные значения:
Validator::make(
['products' =>
['product_id' => 1, 'quantity' => 5],
['product_id' => 1, 'quantity' => 99],
['product_id' => 2, 'quantity' => 1],
],
['products.*.product_id' => 'distinct']
);
Эта валидация не пройдет, потому что есть несколько products с одинаковым значением product_id.
2. fullUrlWithQuery()
Многим, наверное, приходилось формировать урл на основе текущего, с добавлением GET параметров. Теперь все просто: берете текущий запрос и добавляете массив к нему. Вот пример — скажем, ваш текущий URL является domain.com/catalog из него надо получить новый URL, типа domain.com/catalog?category=1&order=price:
$request->fullUrlWithQuery(['category' => '1', 'order' => 'price']);
Вуаля!
3. Blade: continue и break
Теперь в цикле foreach, можно прерваться или продолжить в зависимости от условия:
@foreach ($products as $product)
@continue($product->category_id == 999)
{{ $product->name }}: <b>{{ $product->price }}</b>
@break($product->price >= 199)
@endforeach
На сегодня все!
Всем удачи в проектах. Да пребудет с вами сила Laravel.
Автор: Rencom