BIS Tech
BIS Tech

Reputation: 19434

how to query list of list in dart?

I got data from DB.

final List<SubCategoryModel> model;

my model class looks like this:

class SubCategoryModel{
  final String categoryName;
  final String subCategoryName;
  final List<String> searchCategory;
}

Users can search categoryName or subCategoryName or any other common name. I stored common search names inside searchCategory. searchCategory is an array.

I don't understand query searchCategory in DB. Currently, I used this:

  final result =
        model.where((a) => a.subCategoryName.toLowerCase().contains(query)
        || a.categoryName.toLowerCase().contains(query));

Widget

 ListView(
            children: result
                .map<InkWell>((a) => InkWell(...

Example:

CategoryName = Home

SubCategoryName = Kitchen

searchCategory = [Home,Service,Varanda,Bath Room]

Need to query from above three field

Upvotes: 0

Views: 1647

Answers (1)

BIS Tech
BIS Tech

Reputation: 19434

create a method for checking SearchCategory list

  bool checkList(SubCategoryModel cat,String q){
    for(int i = 0; i < cat. searchCategory.length;i++){
      if(cat. searchCategory[i].toLowerCase().contains(q))
        return true;
    }
    return false;
  }

change query like this

 final result = model.where((a) =>
        a.subCategoryName.toLowerCase().contains(query) ||
        a.categoryName.toLowerCase().contains(query) || checkList(a,query));

Upvotes: 1

Related Questions