Documentation

NotificationRule extends Model
in package
Uses Purgeable, Validation

RainLab\Notify\Models\NotificationRule

Tags
mixin

\Eloquent

Table of Contents

$class_name  : string|null
$code  : string|null
$condition_data  : string|null
$config_data  : string|null
$created_at  : Carbon|null
$description  : string|null
$hasMany  : array<string|int, mixed>
$id  : int
$is_custom  : int
$is_enabled  : int
$name  : string|null
$rules  : array<string|int, mixed>
$updated_at  : Carbon|null
$fillable  : array<string|int, mixed>
$guarded  : array<string|int, mixed>
$originalPurgeableValues  : array<string|int, mixed>
$purgeable  : array<string|int, mixed>
$table  : string
$validationDefaultAttrNames  : array<string|int, mixed>
$validationErrors  : MessageBag
addPurgeable()  : $this
Adds an attribute to the purgeable attributes list
afterFetch()  : mixed
all()  :
applyClass()  :
applyEnabled()  :
applyEventClass()  : bool
Extends this class with the event class
beforeValidate()  : mixed
bootPurgeable()  : void
Boot the purgeable trait for a model.
bootValidation()  : void
Boot the validation trait for this model.
createFromPreset()  : mixed
errors()  : MessageBag
Get validation error message collection for the Model
forceSave()  : bool
Force save the model even if validation fails.
get()  :
getEventClass()  : mixed
getEventObject()  : NotificationEvent
Returns the event class extension object.
getExtraConditionRules()  : array<string|int, mixed>
Returns extra conditions provided by the event.
getOriginalPurgeValue()  : mixed
Returns the original values of any purged attributes.
getOriginalPurgeValues()  : mixed
Returns the original values of any purged attributes.
getPurgeableAttributes()  : mixed
Returns a collection of fields that will be hashed.
isAttributeRequired()  : bool
Determines if an attribute is required based on the validation rules.
listRulesForEvent()  : array<string|int, mixed>
Returns an array of rule codes and descriptions.
newModelQuery()  :
newQuery()  :
purgeAttributes()  : array<string|int, mixed>
Removes purged attributes from the dataset, used before saving.
query()  :
restorePurgedValues()  : mixed
Restores the original values of any purged attributes.
scopeApplyClass()  : mixed
scopeApplyEnabled()  : mixed
setValidationAttributeName()  : void
Programatically sets the validation attribute names, will take lower priority to model defined attribute names found in `$attributeNames`.
setValidationAttributeNames()  : void
Programatically sets multiple validation attribute names.
syncAll()  : void
Syncronise all file-based presets to the database.
triggerRule()  : mixed
Kicks off this notification rule, fires the event to obtain its parameters, checks the rule conditions evaluate as true, then spins over each action.
validate()  : bool
Validate the model instance
validated()  : void
Create a new native event for handling afterValidate().
validating()  : void
Create a new native event for handling beforeValidate().
whereClassName()  :
whereCode()  :
whereConditionData()  :
whereConfigData()  :
whereCreatedAt()  :
whereDescription()  :
whereId()  :
whereIsCustom()  :
whereIsEnabled()  :
whereName()  :
whereUpdatedAt()  :
getRelationValidationValue()  : mixed
Attachments validate differently to their simple values.
getValidationAttributes()  : array<string|int, mixed>
Returns the model data used for validation.
makeValidator()  : Validator
Instantiates the validator used by the validation process, depending if the class is being used inside or outside of Laravel. Optional connection string to make the validator use a different database connection than the default connection.
processRuleFieldNames()  : array<string|int, mixed>
Processes field names in a rule array.
processValidationRules()  : mixed
Process rules
processValidationUniqueRule()  : string
Rebuilds the unique validation rule to force for the existing ID

Properties

$hasMany

public array<string|int, mixed> $hasMany = ['rule_conditions' => [RainLabNotifyModelsRuleCondition::class, 'key' => 'rule_host_id', 'conditions' => 'rule_parent_id is null', 'delete' => true], 'rule_actions' => [RainLabNotifyModelsRuleAction::class, 'key' => 'rule_host_id', 'delete' => true]]

Relations

$rules

public array<string|int, mixed> $rules = ['name' => 'required']

The rules to be applied to the data.

$fillable

protected array<string|int, mixed> $fillable = []

Fillable fields

$guarded

protected array<string|int, mixed> $guarded = ['config_data']

Guarded fields

$originalPurgeableValues

protected array<string|int, mixed> $originalPurgeableValues = []

List of original attribute values before they were purged.

$purgeable

protected array<string|int, mixed> $purgeable = ['event_name']

List of attribute names which should not be saved to the database.

$table

protected string $table = 'rainlab_notify_notification_rules'

The database table used by the model.

$validationDefaultAttrNames

protected array<string|int, mixed> $validationDefaultAttrNames = []

Default custom attribute names.

$validationErrors

protected MessageBag $validationErrors

The message bag instance containing validation error messages

Methods

addPurgeable()

Adds an attribute to the purgeable attributes list

public addPurgeable([array<string|int, mixed>|string|null $attributes = null ]) : $this
Parameters
$attributes : array<string|int, mixed>|string|null = null
Return values
$this

all()

public static all(mixed $columns) :
Parameters
$columns : mixed
Return values

applyClass()

public static applyClass(mixed $class) :
Parameters
$class : mixed
Return values

applyEventClass()

Extends this class with the event class

public applyEventClass([string $class = null ]) : bool
Parameters
$class : string = null

Class name

Return values
bool

beforeValidate()

public beforeValidate() : mixed
Return values
mixed

bootPurgeable()

Boot the purgeable trait for a model.

public static bootPurgeable() : void
Return values
void

bootValidation()

Boot the validation trait for this model.

public static bootValidation() : void
Return values
void

createFromPreset()

public static createFromPreset(mixed $code, mixed $preset) : mixed
Parameters
$code : mixed
$preset : mixed
Return values
mixed

forceSave()

Force save the model even if validation fails.

public forceSave([mixed $options = null ][, mixed $sessionKey = null ]) : bool
Parameters
$options : mixed = null
$sessionKey : mixed = null
Return values
bool

get()

public static get(mixed $columns) :
Parameters
$columns : mixed
Return values

getEventObject()

Returns the event class extension object.

public getEventObject() : NotificationEvent
Return values
NotificationEvent

getExtraConditionRules()

Returns extra conditions provided by the event.

public getExtraConditionRules() : array<string|int, mixed>
Return values
array<string|int, mixed>

getOriginalPurgeValue()

Returns the original values of any purged attributes.

public getOriginalPurgeValue(mixed $attribute) : mixed
Parameters
$attribute : mixed
Return values
mixed

getOriginalPurgeValues()

Returns the original values of any purged attributes.

public getOriginalPurgeValues() : mixed
Return values
mixed

getPurgeableAttributes()

Returns a collection of fields that will be hashed.

public getPurgeableAttributes() : mixed
Return values
mixed

isAttributeRequired()

Determines if an attribute is required based on the validation rules.

public isAttributeRequired(string $attribute[, bool $checkDependencies = true ]) : bool
Parameters
$attribute : string
$checkDependencies : bool = true

Checks the attribute dependencies (for required_if & required_with rules). Note that it will only be checked up to the next level, if another dependent rule is found then it will just assume the field is required

Return values
bool

listRulesForEvent()

Returns an array of rule codes and descriptions.

public static listRulesForEvent(mixed $eventClass) : array<string|int, mixed>
Parameters
$eventClass : mixed
Return values
array<string|int, mixed>

purgeAttributes()

Removes purged attributes from the dataset, used before saving.

public purgeAttributes([mixed $attributesToPurge = null ]) : array<string|int, mixed>
Parameters
$attributesToPurge : mixed = null
Return values
array<string|int, mixed>

Current attribute set

restorePurgedValues()

Restores the original values of any purged attributes.

public restorePurgedValues() : mixed
Return values
mixed

scopeApplyClass()

public scopeApplyClass(mixed $query, mixed $class) : mixed
Parameters
$query : mixed
$class : mixed
Return values
mixed

scopeApplyEnabled()

public scopeApplyEnabled(mixed $query) : mixed
Parameters
$query : mixed
Return values
mixed

setValidationAttributeName()

Programatically sets the validation attribute names, will take lower priority to model defined attribute names found in `$attributeNames`.

public setValidationAttributeName(string $attr, string $name) : void
Parameters
$attr : string
$name : string
Return values
void

setValidationAttributeNames()

Programatically sets multiple validation attribute names.

public setValidationAttributeNames(array<string|int, mixed> $attributeNames) : void
Parameters
$attributeNames : array<string|int, mixed>
Return values
void

syncAll()

Syncronise all file-based presets to the database.

public static syncAll() : void
Return values
void

triggerRule()

Kicks off this notification rule, fires the event to obtain its parameters, checks the rule conditions evaluate as true, then spins over each action.

public triggerRule() : mixed
Return values
mixed

validate()

Validate the model instance

public validate([mixed $rules = null ][, mixed $customMessages = null ][, mixed $attributeNames = null ]) : bool
Parameters
$rules : mixed = null
$customMessages : mixed = null
$attributeNames : mixed = null
Return values
bool

validated()

Create a new native event for handling afterValidate().

public static validated(Closure|string $callback) : void
Parameters
$callback : Closure|string
Return values
void

validating()

Create a new native event for handling beforeValidate().

public static validating(Closure|string $callback) : void
Parameters
$callback : Closure|string
Return values
void

whereClassName()

public static whereClassName(mixed $value) :
Parameters
$value : mixed
Return values

whereCode()

public static whereCode(mixed $value) :
Parameters
$value : mixed
Return values

whereConditionData()

public static whereConditionData(mixed $value) :
Parameters
$value : mixed
Return values

whereConfigData()

public static whereConfigData(mixed $value) :
Parameters
$value : mixed
Return values

whereCreatedAt()

public static whereCreatedAt(mixed $value) :
Parameters
$value : mixed
Return values

whereDescription()

public static whereDescription(mixed $value) :
Parameters
$value : mixed
Return values

whereId()

public static whereId(mixed $value) :
Parameters
$value : mixed
Return values

whereIsCustom()

public static whereIsCustom(mixed $value) :
Parameters
$value : mixed
Return values

whereIsEnabled()

public static whereIsEnabled(mixed $value) :
Parameters
$value : mixed
Return values

whereName()

public static whereName(mixed $value) :
Parameters
$value : mixed
Return values

whereUpdatedAt()

public static whereUpdatedAt(mixed $value) :
Parameters
$value : mixed
Return values

getRelationValidationValue()

Attachments validate differently to their simple values.

protected getRelationValidationValue(mixed $relationName) : mixed
Parameters
$relationName : mixed
Return values
mixed

getValidationAttributes()

Returns the model data used for validation.

protected getValidationAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>

makeValidator()

Instantiates the validator used by the validation process, depending if the class is being used inside or outside of Laravel. Optional connection string to make the validator use a different database connection than the default connection.

protected static makeValidator(mixed $data, mixed $rules, mixed $customMessages, mixed $attributeNames[, mixed $connection = null ]) : Validator
Parameters
$data : mixed
$rules : mixed
$customMessages : mixed
$attributeNames : mixed
$connection : mixed = null
Return values
Validator

processRuleFieldNames()

Processes field names in a rule array.

protected processRuleFieldNames(array<string|int, mixed> $rules) : array<string|int, mixed>

Converts any field names using array notation (ie. field[child]) into dot notation (ie. field.child)

Parameters
$rules : array<string|int, mixed>

Rules array

Return values
array<string|int, mixed>

processValidationRules()

Process rules

protected processValidationRules(mixed $rules) : mixed
Parameters
$rules : mixed
Return values
mixed

processValidationUniqueRule()

Rebuilds the unique validation rule to force for the existing ID

protected processValidationUniqueRule(string $definition, string $fieldName) : string
Parameters
$definition : string
$fieldName : string
Return values
string

Search results