modelsManager->createBuilder() ->columns('course.*') ->addFrom(CourseModel::class, 'course') ->join(CourseUserModel::class, 'course.id = cu.course_id', 'cu') ->where('cu.user_id = :user_id:', ['user_id' => $userId]) ->andWhere('cu.role_type = :role_type:', ['role_type' => CourseUserModel::ROLE_TEACHER]) ->andWhere('course.published = 1') ->andWhere('course.deleted = 0') ->orderBy('cu.id DESC'); $pager = new PagerQueryBuilder([ 'builder' => $builder, 'page' => $page, 'limit' => $limit, ]); return $pager->paginate(); } }