# Subscriber Note Model | DB Table Name | {wp_db_prefix}_fc_subscriber_notes | |---------------|-------------------------------------------------------------------------------| | Schema | Check Schema | | Source File | fluent-crm/app/Models/SubscriberNote.php | | Name Space | FluentCrm\App\Models | | Class | FluentCrm\App\Models\SubscriberNote | ## Global Scope This model has a global scope that **excludes** rows where `status IN ('_company_note_', '_system_log_')`. This means queries on `SubscriberNote` only return regular contact notes. ::: tip Shared Table The `fc_subscriber_notes` table is shared by three models: - **SubscriberNote** — regular contact notes (excludes `_company_note_` and `_system_log_` statuses) - **CompanyNote** — company notes (`status = '_company_note_'`) - **SystemLog** — system log entries (`status = '_system_log_'`) ::: ## Attributes
Attribute Data Type Comment
id Integer
subscriber_id Integer
parent_id Integer
created_by Integer Auto-set to current user on create
status String
type String
is_private Boolean
title String
description Text
created_at Date Time Auto-set on create
updated_at Date Time Auto-set on create and update
## Usage Please check Model Basic for Common methods. ### Accessing Attributes ```php $note = FluentCrm\App\Models\SubscriberNote::find(1); $note->id; // returns id $note->title; // returns title $note->description; // returns description ....... ``` ## Fillable Attributes ```php 'subscriber_id', 'parent_id', 'created_by', 'type', 'title', 'description', 'created_at' ``` ## Relations ### subscriber Access the associated subscriber of a note - return `FluentCrm\App\Models\Subscriber` Model #### Example: ```php // Accessing Subscriber $subscriber = $note->subscriber; // Get notes which has subscriber ids: 1/2/3 $notes = FluentCrm\App\Models\SubscriberNote::whereHas('subscriber', function($query) { $query->whereIn('id', [1,2,3]); })->get(); // Get notes which does not have subscriber ids: 1/2/3 $notes = FluentCrm\App\Models\SubscriberNote::whereDoesntHave('subscriber', function($query) { $query->whereIn('id', [1,2,3]); })->get(); ``` ## Methods ### markAs($status) Update the note status - Parameters - $status `string` - Returns `FluentCrm\App\Models\SubscriberNote` #### Usage ```php $note = $note->markAs('open'); ``` ### createdBy() Get note creator personal information - Parameters - none - Returns `array` — `['ID', 'display_name', 'photo']` #### Usage ```php $creatorInfo = $note->createdBy(); ```