sqlSelectByColumnsRaw method
Select raw
values from some columns values,
where MapEntry.key is column, and MapEntry.value is
List of raw
column value
Implementation
Iterable<List> sqlSelectByColumnsRaw(Map<DatabaseColumn, List> m,
{bool and = true}) {
final sb = StringBuffer('WHERE ');
final e = m.entries.first;
sb.write('${e.key.name} IN (${sqlQueryRowBindings(e.value.length)})');
for (final e in m.entries.skip(1)) {
if (and) {
sb.write(' AND ');
} else {
sb.write(' OR ');
}
sb.write('${e.key.name} IN (${sqlQueryRowBindings(e.value.length)})');
}
return sqlSelectRaw(
sb.toString(),
m.entries.expand((c) => c.value.map(c.key.databaseSaveMutator)).toList(),
);
}