我从数据库获得数据。
final List<SubCategoryModel> model;
我的模型类如下:
class SubCategoryModel{
final String categoryName;
final String subCategoryName;
final List<String> searchCategory;
}
用户可以搜索categoryName
或subCategoryName
或任何其他常用名称。我将常见的搜索名称存储在searchCategory
中。 searchCategory
是一个数组。
我不理解数据库中的查询searchCategory
。目前,我使用了这个:
final result =
model.where((a) => a.subCategoryName.toLowerCase().contains(query)
|| a.categoryName.toLowerCase().contains(query));
小工具
ListView(
children: result
.map<InkWell>((a) => InkWell(...
示例:
CategoryName =主页
SubCategoryName =厨房
searchCategory = [家庭,服务,Varanda,浴室]
需要从以上三个字段进行查询
答案 0 :(得分:1)
创建一种检查SearchCategory
列表的方法
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;
}
像这样更改查询
final result = model.where((a) =>
a.subCategoryName.toLowerCase().contains(query) ||
a.categoryName.toLowerCase().contains(query) || checkList(a,query));