Call to undefined method Illuminate\Database\Eloquent\Builder::filter()

Не получается настроить фильтрацию.

    public function index(OrderFilter $filter): View
    {
        $items = Order::withTrashed()->filter($filter)->paginate(10);

        return view($this->viewsPath . self::INDEX_ACTION, [
            'items' => $items,
            'perPage' => 10,
        ]);
    }

Получаю ошибку Call to undefined method Illuminate\Database\Eloquent\Builder::filter()

Когда убираю filter($filter), ошибка пропадает, фильтрация не работает. Как правильно настроить фильтрацию?

where:

        $first = DB::table('orders')
            ->where('id');

        $items = DB::table('orders')
            ->where('id')
            ->union($first)
            ->get();

Ответы (1 шт):

Автор решения: StZD

Он не может найти Builder::filter()
А почему не использовать where?
В документации очень простая и легкая фильтрация https://laravel.su/docs/8.x/queries#where-clauses

Обновление:
Напишите, что вы хотите сделать. А то пока что вы перебираете фильтрацией одно и тоже Метод union позволяет проводить слияние, а вы просто пытаетесь сделать фильтрацию одного и того же (в таблице orders столбца id 2 раза)
Если так хотите провести фильтрацию:

public function index(): 
    {
        $orders = DB::table('orders')
        ->where('id', '<', 100)
        ->get();

        return view('index', compact(['orders']));
    }

Потом просто выводите как обычно

→ Ссылка