@@ -3,7 +3,7 @@ import 'package:moor_flutter/moor_flutter.dart';
33
44part 'survey_point_dao.g.dart' ;
55
6- @UseDao (tables: [SurveyPoints ])
6+ @UseDao (tables: [SurveyPoints , SurveyItems , Surveys ])
77class SurveyPointDao extends DatabaseAccessor <CurbWheelDatabase >
88 with _$SurveyPointDaoMixin {
99 SurveyPointDao (CurbWheelDatabase db) : super (db);
@@ -12,9 +12,6 @@ class SurveyPointDao extends DatabaseAccessor<CurbWheelDatabase>
1212
1313 Stream <List <SurveyPoint >> watchAllPoints () => select (surveyPoints).watch ();
1414
15- Future <List <SurveyPoint >> getPointsBySurveyItemId (String surveyItemId) =>
16- select (surveyPoints).get ();
17-
1815 Future insertPoint (SurveyPointsCompanion surveyPoint) =>
1916 into (surveyPoints).insert (surveyPoint);
2017
@@ -23,4 +20,27 @@ class SurveyPointDao extends DatabaseAccessor<CurbWheelDatabase>
2320
2421 Future deletePoint (SurveyPoint surveyPoint) =>
2522 delete (surveyPoints).delete (surveyPoint);
23+
24+ Future <List <SurveyPoint >> getPointsBySurveyItemId (String surveyItemId) =>
25+ (select (surveyPoints)..where ((sp) => sp.surveyItemId.equals (surveyItemId))).get ();
26+
27+ Future <List <SurveyPoint >> getPointsBySurveyId (String surveyId) =>
28+ (select (surveyPoints)
29+ ..where ((t) => surveys.id.equals (surveyId))
30+ ..join ([
31+ innerJoin (surveyItems,
32+ surveyItems.id.equalsExp (surveyPoints.surveyItemId)),
33+ innerJoin (surveys,
34+ surveys.id.equalsExp (surveyItems.surveyId))
35+ ])).get ();
36+
37+ Future <List <SurveyPoint >> getPointsByProjectId (String projectId) =>
38+ (select (surveyPoints)
39+ ..where ((t) => surveys.projectId.equals (projectId))
40+ ..join ([
41+ innerJoin (surveyItems,
42+ surveyItems.id.equalsExp (surveyPoints.surveyItemId)),
43+ innerJoin (surveys,
44+ surveys.id.equalsExp (surveyItems.surveyId))
45+ ])).get ();
2646}
0 commit comments