Reputation: 19434
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
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