where('is_active', true) ->where(function ($query) use ($keyword) { if (is_numeric($keyword)) { $query->where('id', $keyword); } $query->orWhere('name', 'like', "%{$keyword}%"); }) ->select('id', 'name') ->orderBy('id') ->limit($limit) ->get(); } }