Laravel.io
       $filters = [
            'author' => function ($query) {

            },
            
            'objectdata' => function ($query) {

            },
            'district' => function ($query) {

            },
            'preview' => function ($query) {

            }
        ];


        $objects = Object::with($filters)->where('status', 1);
        if ($vars['currencySelected'] && $vars['price'] != "") {
            $objects->whereHas('objectdata', function ($query) use ($vars) {
                $query->where('price_' . $vars['currencySelected'], "<", $vars['price']);
            });
        }

        $objects->orderBy('created_at', 'desc')->paginate(10);

Please note that all pasted data is publicly available.