Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

joshmanhuwa's avatar

Re-writting a query for pagination

Hi kindly help re-write this script so that i can compact a paginated result.

public function property(Request $request)
{
    $query = Property::query();
    if ($request->status) $query->where('status', '=', $request->status);
    if ($request->type) $query->where('type', '=', $request->type);
    if ($request->bedrooms) $query->where('bedrooms', '=', $request->bedrooms);
    if ($request->bathrooms) $query->where('bedrooms', '=', $request->bathrooms);
    if ($request->min_price) $query->where('value', '>=', $request->min_price);
    if ($request->max_price) $query->where('value', '<=', $request->max_price);
    if ($request->keywords) {
        $query->orWhere('title', 'like', '%' . $request->keywords . '%')
            ->orWhere('city', 'like', '%' . $request->keywords . '%')
            ->orWhere('country', 'like', '%' . $request->keywords . '%');
    }

    $properties = $query->get();
    

    return view('dashboard.property.index', compact('properties'));

}
0 likes
1 reply
jlrdw's avatar
jlrdw
Best Answer
Level 75
$properties = $query->paginate();
2 likes

Please or to participate in this conversation.