diff --git a/mod/lesson/backup/moodle2/backup_lesson_stepslib.php b/mod/lesson/backup/moodle2/backup_lesson_stepslib.php index c55bffe0a92..83ab18b7155 100644 --- a/mod/lesson/backup/moodle2/backup_lesson_stepslib.php +++ b/mod/lesson/backup/moodle2/backup_lesson_stepslib.php @@ -170,7 +170,14 @@ class backup_lesson_activity_structure_step extends backup_activity_structure_st FROM {lesson_pages} WHERE lessonid = ? ORDER BY prevpageid", array(backup::VAR_PARENTID)); - $answer->set_source_table('lesson_answers', array('pageid' => backup::VAR_PARENTID)); + + // We use SQL here as answers must be ordered by id so that the restore gets them in the right order + $answer->set_source_sql(' + SELECT * + FROM {lesson_answers} + WHERE pageid = :pageid + ORDER BY id', + array('pageid' => backup::VAR_PARENTID)); // Check if we are also backing up user information if ($this->get_setting_value('userinfo')) {