Может войдёшь?
Черновики Написать статью Профиль

Дополнительные операции с Collection::where в Laravel 5.3

перевод новое в 5.3

Если вам надо отфильтровать коллекцию Laravel и получить только те записи, которые соответствуют заданным критериям, то скорее всего вы воспользуетесь методами PHPfilter() или PHPreject(). Вот как это работает:

PHP
$vips = $people->filter(function ($person) {
  return 
$person->status === 'vip';
});

$nonVips = $people->reject(function ($person) {
  return 
$person->status === 'vip';
});

Возможно вы не знали, но существует ещё один метод PHPwhere(), он очень прост и выполняет ту же задачу:

PHP
$vips = $people->where('status', 'vip');

До версии 5.3 проверялось строгое равенство (PHP===), как в первом примере.

Начиная с версии 5.3 эта строка означает нестрогую (loose) проверку (PHP==), но вы можете указать требуемый оператор сравнения. Например, так:

PHP
$nonVips = $people->where('status', '!==', 'vip');
$popularPosts = $posts->where('views', '>', 500);
$firstTimeUsers = $people->where('logins', '===', 1);

Все доступные на момент написания статьи операторы сравнения вы можете найти здесь: Collection#l214-260.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.