Pull to refresh

Три мелкие но полезные плюшки в Laravel 5.2.22

Reading time1 min
Views9.1K
Совсем недавно состоялся релиз минорной версии 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.
Tags:
Hubs:
Total votes 16: ↑11 and ↓5+6
Comments3

Articles