получить все записи с одинаковым значением столбца в таблице базы данных sqlite с помощью пакета moor_flutter - PullRequest
0 голосов
/ 16 января 2020

У меня есть таблица под названием контакты. Я хочу получить все записи where person_id = 1 в контактах в таблице ниже.

class Contacts extends Table {
  IntColumn get id => integer().autoIncrement()();
  TextColumn get contact_type => text().withLength(min: 1, max: 50)();
  TextColumn get contact => text().withLength(min: 1, max: 100)();
  IntColumn get person_id =>
      integer().customConstraint('REFERENCES persons(id)')();
  DateTimeColumn get created => dateTime()();
  DateTimeColumn get updated => dateTime()();
}

Как мне выполнить select * from contacts where person_id = 1, используя moor_flutter ? спасибо, опубликовано с любовью.

1 Ответ

1 голос
/ 16 января 2020

Вы должны взглянуть на документы .

Вы ищете что-то вроде этого:

@UseMoor(tables: [Contacts])
class MyDatabase extends _$MyDatabase {  

    Future<List<Contact>> getContactByPersonId(int id) {
        return (select(contacts)..where((c) => c.person_id.equals(id))).get();
    }
}
...