course practice count fix
This commit is contained in:
parent
5857fce9a0
commit
526426d9f9
|
|
@ -55,13 +55,17 @@ SELECT
|
||||||
INNER JOIN modules m ON l.module_id = m.id
|
INNER JOIN modules m ON l.module_id = m.id
|
||||||
WHERE
|
WHERE
|
||||||
m.course_id = c.id) AS lesson_count,
|
m.course_id = c.id) AS lesson_count,
|
||||||
|
-- Practices whose parent is the course only (lms_practices.course_id). Excludes
|
||||||
|
-- practices linked via module_id or lesson_id, even for modules/lessons in this course.
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(*)::bigint
|
COUNT(*)::bigint
|
||||||
FROM
|
FROM
|
||||||
lms_practices p
|
lms_practices p
|
||||||
WHERE
|
WHERE
|
||||||
p.course_id = c.id) AS practice_count
|
p.course_id = c.id
|
||||||
|
AND p.module_id IS NULL
|
||||||
|
AND p.lesson_id IS NULL) AS practice_count
|
||||||
FROM
|
FROM
|
||||||
courses c
|
courses c
|
||||||
WHERE
|
WHERE
|
||||||
|
|
|
||||||
|
|
@ -145,13 +145,17 @@ SELECT
|
||||||
INNER JOIN modules m ON l.module_id = m.id
|
INNER JOIN modules m ON l.module_id = m.id
|
||||||
WHERE
|
WHERE
|
||||||
m.course_id = c.id) AS lesson_count,
|
m.course_id = c.id) AS lesson_count,
|
||||||
|
-- Practices whose parent is the course only (lms_practices.course_id). Excludes
|
||||||
|
-- practices linked via module_id or lesson_id, even for modules/lessons in this course.
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(*)::bigint
|
COUNT(*)::bigint
|
||||||
FROM
|
FROM
|
||||||
lms_practices p
|
lms_practices p
|
||||||
WHERE
|
WHERE
|
||||||
p.course_id = c.id) AS practice_count
|
p.course_id = c.id
|
||||||
|
AND p.module_id IS NULL
|
||||||
|
AND p.lesson_id IS NULL) AS practice_count
|
||||||
FROM
|
FROM
|
||||||
courses c
|
courses c
|
||||||
WHERE
|
WHERE
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@ type Course struct {
|
||||||
SortOrder int `json:"sort_order"`
|
SortOrder int `json:"sort_order"`
|
||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
||||||
// Populated on list-by-program; practices with course_id set (direct course practice only).
|
// Populated on list-by-program. Practice count: lms_practices rows with course_id = course only
|
||||||
|
// (not practices attached to a module or lesson under this course).
|
||||||
ModuleCount int `json:"module_count"`
|
ModuleCount int `json:"module_count"`
|
||||||
LessonCount int `json:"lesson_count"`
|
LessonCount int `json:"lesson_count"`
|
||||||
PracticeCount int `json:"practice_count"`
|
PracticeCount int `json:"practice_count"`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user