Методы сбора данных Laravel:whereNotIn и многое другое

Метод whereNotInв коллекции Laravel позволяет фильтровать коллекцию, исключая значения, присутствующие в другом массиве или коллекции. Он возвращает новую коллекцию, содержащую элементы, не соответствующие заданным значениям.

Вот еще несколько полезных методов, доступных в коллекциях Laravel:

  1. filter: фильтрует коллекцию на основе заданной функции обратного вызова. Обратный вызов должен возвращать trueдля элементов, которые должны быть включены в отфильтрованную коллекцию.
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$filtered = $collection->filter(function ($value, $key) {
    return $value % 2 === 0;
});
// Output: [2, 4, 6, 8, 10]
  1. map: преобразует каждый элемент коллекции с помощью функции обратного вызова и возвращает новую коллекцию с преобразованными значениями.
$collection = collect([1, 2, 3, 4, 5]);
$mapped = $collection->map(function ($item, $key) {
    return $item * 2;
});
// Output: [2, 4, 6, 8, 10]
  1. sortBy: сортирует коллекцию в порядке возрастания на основе заданного ключа или функции обратного вызова.
$collection = collect([
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
    ['name' => 'Doe', 'age' => 35],
]);
$sorted = $collection->sortBy('age');
// Output: [['name' => 'Jane', 'age' => 25], ['name' => 'John', 'age' => 30], ['name' => 'Doe', 'age' => 35]]
  1. groupBy: группирует элементы коллекции по заданному ключу или функции обратного вызова.
$collection = collect([
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
    ['name' => 'Doe', 'age' => 30],
]);
$grouped = $collection->groupBy('age');
// Output: [
//     30 => [['name' => 'John', 'age' => 30], ['name' => 'Doe', 'age' => 30]],
//     25 => [['name' => 'Jane', 'age' => 25]]
// ]