Skip to content
View as Markdown

Campaign Email Model

DB Table Name{wp_db_prefix}_fc_campaign_emails
SchemaCheck Schema
Source Filefluent-crm/app/Models/CampaignEmail.php
Name SpaceFluentCrm\App\Models
ClassFluentCrm\App\Models\CampaignEmail

Attributes

AttributeData TypeComment
idInteger
campaign_idInteger
email_typeString
subscriber_idInteger
email_subject_idInteger
email_addressString
email_subjectString
email_bodyText
email_headersText
is_openBoolean
is_parsedBoolean
click_counterInteger
statusString
noteInteger
scheduled_atDate Time
email_hashString
created_atDate Time
updated_atDate Time

Usage

Please check Model Basic for Common methods.

Accessing Attributes

php

$campaignEmail = FluentCrm\App\Models\CampaignEmail::find(1);

$campaignEmail->id; // returns id
$campaignEmail->email; // returns email
.......

Relations

This model has the following relationships that you can use

campaign

Access the associated campaign of a model

  • return FluentCrm\App\Models\Campaign Model Collection

Example:

php
// Accessing Template
$campaign = $campaignEmail->campaign;

// For Filtering by template relationship

// Get CampaignEmails which has type: funnel_email_campaign
$campaignEmails = FluentCrm\App\Models\CampaignEmail::whereHas('campaign', function($query) {
    $query->where('type', 'funnel_email_campaign');
})->get();

// Get CampaignEmails which does not have type: funnel_email_campaign
$campaignEmails = FluentCrm\App\Models\CampaignEmail::whereDoesntHave('campaign', function($query) {
    $query->where('type', 'funnel_email_campaign');
})->get();

subscriber

Access all the associated subscriber of a model

  • return FluentCrm\App\Models\Subscriber Model Collections

Example:

php
// Accessing Subscriber
$subscriber = $campaignEmail->subscriber;

// For Filtering by tags relationship

// Get CampaignEmails which has first_name Demo
$campaignEmails = FluentCrm\App\Models\CampaignEmail::whereHas('subscriber', function($query) {
    $query->where('first_name', 'Demo');
})->get();

// Get CampaignEmails which does not have first_name Demo
$campaignEmails = FluentCrm\App\Models\CampaignEmail::whereDoesntHave('subscriber', function($query) {
    $query->where('first_name', 'Demo');
})->get();

subject

Access all the associated subject of a model

  • return FluentCrm\App\Models\Subject Model Collections

Example:

php
// Access all the associated subject of a model
$subject = $campaignEmail->subject;

Methods

Along with Global Model methods, this model has few helper methods.

markAs($status)

Update campaign email status

  • Parameters
    • $status string
  • Returns FluentCrm\App\Models\CampaignEmail

Usage

php
$campaignEmail = $campaignEmail->markAs('sent');

markAsSent()

Update campaign email status to 'sent'

  • Parameters
    • none
  • Returns FluentCrm\App\Models\CampaignEmail

Usage

php
$campaignEmail = $campaignEmail->markAsSent();

markAsFailed()

Update campaign email status to 'failed'

  • Parameters
    • none
  • Returns FluentCrm\App\Models\CampaignEmail

Usage

php
$campaignEmail = $campaignEmail->markAsFailed();

data()

Get data for the email to be sent

  • Parameters
    • none
  • Returns array

Usage

php
$emailData = $campaignEmail->data();

previewData()

Preview data for the email to be sent

  • Parameters
    • none
  • Returns array

Usage

php
$emailData = $campaignEmail->previewData();

getEmailSubject()

Get the subject of email

  • Parameters
    • none
  • Returns string

Usage

php
$subject = $campaignEmail->getEmailSubject();

getEmailBody()

Get the email body (actual html code) of email

  • Parameters
    • none
  • Returns text

Usage

php
$emailBody = $campaignEmail->getEmailBody();

getCampaignUrls()

Get the urls which are shared in an email model

  • Parameters
    • none
  • Returns array list of urls

Usage

php
$urls = $campaignEmail->getCampaignUrls();

getClicks()

Get the click counts of an email

  • Parameters
    • none
  • Returns array

Usage

php
$totalClicks = $campaignEmail->getClicks();

getSubjectCount($campaignId)

Get the total subject of a campaign of email

  • Parameters
    • $campaignId int
  • Returns object

Usage

php
$result = $campaignEmail->getSubjectCount(1);

getOpenCount()

Get the open count of an email

  • Parameters
    • none
  • Returns int

Usage

php
$openCount = $campaignEmail->getOpenCount();