For the complete documentation index, see llms.txt. This page is also available as Markdown.

实体与 Doctrine

Chamilo 2.0 在两个Bundle中拥有314个Doctrine实体。以下仅提及主要的实体。

实体组织

CoreBundle 实体 (213)

平台级实体:

类别
示例

用户

User, UserRelUser, AccessUrl, AccessUrlRelUser

课程

Course, CourseCategory, CourseRelUser

会话

Session, SessionRelUser, SessionRelCourse, SessionRelCourseRelUser

资源

ResourceNode, ResourceFile, ResourceLink, ResourceType

设置

SettingsCurrent, SettingsOptions

消息

Message, MessageRelUser, MessageAttachment

跟踪

TrackELogin, TrackEOnline, TrackEDefault

技能

Skill, SkillRelUser, SkillRelProfile

人工智能

AiRequests

插件

Plugin, AccessUrlRelPlugin

社交

Usergroup, UsergroupRelUser

xAPI

XApiObject, XApiResult, XApiActivityState

CourseBundle 实体 (101)

课程内容实体——均以 C 为前缀:

类别
示例

文档

CDocument

练习

CQuiz, CQuizQuestion, CQuizAnswer, CQuizQuestionCategory

学习路径

CLp, CLpItem, CLpView, CLpItemView, CLpCategory

论坛

CForum, CForumCategory, CForumThread, CForumPost

作业

CStudentPublication, CStudentPublicationAssignment, CStudentPublicationComment

调查

CSurvey, CSurveyQuestion, CSurveyAnswer, CSurveyInvitation

考勤

CAttendance, CAttendanceCalendar, CAttendanceResult

博客

CBlog, CBlogPost, CBlogComment, CBlogTask

其他

CCalendarEvent, CGlossary, CLink, CLinkCategory, CNotebook, CWiki

命名约定

  • CoreBundle 实体:标准的 PascalCase(例如,User, Course, Session

  • CourseBundle 实体:以 C 为前缀(例如,CDocument, CQuiz, CLp

此前缀用于区分课程范围的内容实体与平台级实体(与传统的数据库表命名一致)。随着更多工具被转换为不与特定课程强关联的全局工具,这种区分可能在未来会消失。

关键关系

关系通常通过 Rel 分隔符来体现。

用户 ↔ 课程

CourseRelUser 存储注册状态(TEACHER = 1, STUDENT = 5)。

用户 ↔ 会话 ↔ 课程

ResourceNode(内容抽象)

所有课程内容实体通过 ResourceNode 连接到资源系统:

详情请参见资源系统

Doctrine 扩展

Chamilo 使用 Gedmo Doctrine 扩展(通过 stof/doctrine-extensions-bundle):

  • Tree — 层次数据(ResourceNode 使用物化路径)

  • Timestampable — 自动 createdAt/updatedAt 字段

  • Sluggable — URL友好的 slugs

  • Sortable — 可排序的集合

最后更新于

这有帮助吗?