Метод whereNotIn
в коллекции Laravel позволяет фильтровать коллекцию, исключая значения, присутствующие в другом массиве или коллекции. Он возвращает новую коллекцию, содержащую элементы, не соответствующие заданным значениям.
Вот еще несколько полезных методов, доступных в коллекциях Laravel:
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]
map
: преобразует каждый элемент коллекции с помощью функции обратного вызова и возвращает новую коллекцию с преобразованными значениями.
$collection = collect([1, 2, 3, 4, 5]);
$mapped = $collection->map(function ($item, $key) {
return $item * 2;
});
// Output: [2, 4, 6, 8, 10]
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]]
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]]
// ]