Laravel | Удаление элемента коллекции

Рейтинг: 0Ответов: 1Опубликовано: 24.01.2023

Мы получаем все элементы коллекции из бд:
$test = Goods::all();
Прогоняем по циклу и получаем какой-то элемент. Необходимо из коллекции $test удалить его. Как это сделать?
Полный код если надо:

    $searchQuery = $request->validated()['search'];
    $test = Goods::all();
    $checkHandler = new Search;
    foreach ($test as $t) {
        if (!$checkHandler->Search($searchQuery, $t)) {
            // Тут необходимо удалять из $test эллемент $t когда Метод Search возвращает false
        }
    }

PS: её богу, такой элементарный вопрос, но спустя больше часа копошения в документации и в гугле получил только нервный срыв. Уточню что id поста не всегда равно номеру итерации foreach

Ответы

▲ 1Принят
    foreach ($test as $key => $t) {
    if (!$checkHandler->Search($searchQuery, $t)) {
        unset($test[$key]);
    }
}