Skip to content

CourseLesson Model ​

An individual lesson row in fcom_posts, scoped by type and ordered within its course.

Table ​

  • Table: fcom_posts

  • Primary key: id

  • Extends: Model

Attributes ​

ColumnTypeNullableDefaultDescription
idBIGINT UNSIGNEDNo—Primary key for the row.
user_idBIGINT UNSIGNEDYes—WordPress user ID associated with the row.
parent_idBIGINT UNSIGNEDYes—Parent row ID used for threading or hierarchy.
titleVARCHAR(192)Yes—Human-readable title stored for the record.
slugVARCHAR(192)Yes—Sanitized slug or public identifier.
messageLONGTEXTYes—Raw message or body content.
message_renderedLONGTEXTYes—Rendered HTML representation of the message.
typeVARCHAR(100)Yes'feed'Subtype discriminator for the row.
content_typeVARCHAR(100)Yes'text'Content subtype such as text, document, or survey.
space_idBIGINT UNSIGNEDYes—Space ID stored for this record.
privacyVARCHAR(100)Yes'public'Visibility state used by feeds and spaces.
statusVARCHAR(100)Yes'published'Lifecycle or moderation status.
featured_imageTEXTYes—Featured Image stored for this record.
metaLONGTEXTYes—Serialized meta payload used by FluentCommunity.
is_stickyTINYINT(1)Yes0Boolean-like flag used for pinned or sticky records.
comments_countINT(11), cast: intYes0Cached number of comments attached to the record.
reactions_countINT(11), cast: intYes0Cached number of reactions attached to the record.
priorityINT(11)Yes0Numeric priority used for pinned or featured ordering.
expired_atDATETIMEYes—Expired At stored for this record.
scheduled_atDATETIMEYes—Scheduled At stored for this record.
created_atTIMESTAMPYes—Creation timestamp maintained by the ORM.
updated_atTIMESTAMPYes—Update timestamp maintained by the ORM.

Relationships ​

MethodTypeTargetNotes
topic()belongsToCourseTopicSignature: —
course()belongsToCourseSignature: —
owner()belongsToUserSignature: —
comments()hasManyCommentSignature: —
reactions()hasManyReactionSignature: —
lessonCompleted()hasManyReactionSignature: —
media()hasManyMediaSignature: —
terms()belongsToManyTermSignature: —

Scopes ​

ScopeParametersPurpose
SearchBy$query, $searchSearch By scope declared on the model.

Key Methods ​

MethodDescription
uniqueSlug()unique Slug implemented on the model.
isQuizType()is Quiz Type implemented on the model.
hasUserReact()has User React implemented on the model.

Usage Examples ​

php
use FluentCommunity\Modules\Course\Model\CourseLesson;

$records = CourseLesson::query()
    ->searchBy('example')
    ->limit(10)
    ->get();

$first = CourseLesson::query()->first();

FluentCommunity developer documentation