as method

  1. @override
Query<HasResultSet, dynamic> as()
override

This method is overridden by Dart-defined views to declare the right query to run.

Implementation

@override
Query as() =>
    select([
        courseOfferings.id,
        courseOfferings.number,
        courseOfferings.semester,
        nameZh,
        nameEn,
        credits,
        hours,
        schedules.dayOfWeek,
        schedules.period,
        classroomNameZh,
        classroomNameEn,
      ]).from(schedules).join([
        innerJoin(
          courseOfferings,
          courseOfferings.id.equalsExp(schedules.courseOffering),
        ),
        leftOuterJoin(
          courses,
          courses.code.equalsExp(courseOfferings.courseCode),
        ),
        leftOuterJoin(
          classrooms,
          classrooms.id.equalsExp(schedules.classroom),
        ),
      ])
      ..where(courseOfferings.inCourseTable.equals(true));