0

我想选择与 moor / moor_flutter 的子字符串匹配的所有行。

在 SQL 中,你会做这样的事情:

'SELECT * FROM [table] WHERE [field] LIKE '%[substring]%'

有没有一种“类似沼泽”的方式来做到这一点?

我最接近的是:

Stream<List<Task>> watchTable() {
  return (select(tableItem)..where((tbl) => CustomExpression<bool>("field LIKE '%substring%'"))).watch();
}

但不幸的是,这不是一个很好的类型安全/类似 moor 的方式。

4

1 回答 1

0

这是我为类似查询所做的示例:

  // Get all the doctors [by optional params city and area]
  Future<List<DoctorMaster>> getAllDoctors({String city = "", String area = ""}) {
    return (select(doctorMasters)..where((tbl) => tbl.city.like(city) & tbl.area.like(area))).get();
  }

你可以为你的目的做类似的事情。

Stream<List<Task>> watchTable() {
  return (select(tableItem)..where((tbl) => tbl.yourField.like('%substring%'))).watch();
}

希望它会奏效。谢谢

于 2021-07-24T12:03:19.250 回答