UserFrosting API

Permission extends Model

Permission Class.

Represents a permission for a role or user.

Tags
author

Alex Weissman (https://alexanderweissman.com)

property
string
property
string
property
string
property
string

Table of Contents

$table string
$fillable
$timestamps bool
$slug string
$name string
$conditions string
$description string
$ci ContainerInterface
$timestamps bool
$manyMethodsExtended The many to many relationship methods. array
delete() Delete this permission from the database, removing associations with roles. mixed
roles() Get a list of roles to which this permission is assigned. BelongsToMany
scopeForRole() Query scope to get all permissions assigned to a specific role. Builder
scopeNotForRole() Query scope to get all permissions NOT associated with a specific role. Builder
users() Get a list of users who have this permission, along with a list of roles through which each user has the permission. BelongsToManyThrough
__construct() mixed
attributeExists() Determine if an attribute exists on the model - even if it is null. bool
findUnique() Determines whether a model exists by checking a unique column, including checking soft-deleted records. Model|null
relationExists() Determine if an relation exists on the model - even if it is null. bool
store() Store the object in the DB, creating a new row if one doesn't already exist. int
newEloquentBuilder() Overrides Laravel's base Model to return our custom Eloquent builder object. EloquentBuilder
newBaseQueryBuilder() Overrides Laravel's base Model to return our custom query builder object. Builder
export() Get the properties of this object as an associative array. Alias for toArray(). array
queryBuilder() For raw array fetching. Must be static, otherwise PHP gets confused about where to find $table. Builder
hasMany() Overrides the default Eloquent hasMany relationship to return a HasManySyncable. HasManySyncable
morphMany() Overrides the default Eloquent morphMany relationship to return a MorphManySyncable. MorphManySyncable
belongsToManyThrough() Define a many-to-many 'through' relationship. BelongsToManyThrough
belongsToManyUnique() Define a unique many-to-many relationship. Similar to a regular many-to-many relationship, but removes duplicate child objects. BelongsToManyUnique
morphToManyUnique() Define a unique morphs-to-many relationship. Similar to a regular morphs-to-many relationship, but removes duplicate child objects. MorphToManyUnique
getBelongsToManyCaller() Get the relationship name of the belongs to many. string

Properties

$fillable

protected mixed $fillable = ['slug', 'name', 'conditions', 'description']

$ci

public static ContainerInterface $ci

$timestamps

public bool $timestamps = false

$manyMethodsExtended

The many to many relationship methods.

public static array $manyMethodsExtended = ['belongsToMany', 'morphToMany', 'morphedByMany', 'morphToManyUnique']

Methods

delete()

Delete this permission from the database, removing associations with roles.

public delete( ) : mixed
Return values
mixed

roles()

Get a list of roles to which this permission is assigned.

public roles( ) : BelongsToMany
Return values
BelongsToMany

scopeForRole()

Query scope to get all permissions assigned to a specific role.

public scopeForRole( $query : Builder , $roleId : int ) : Builder
Parameters
$query : Builder
$roleId : int
Return values
Builder

scopeNotForRole()

Query scope to get all permissions NOT associated with a specific role.

public scopeNotForRole( $query : Builder , $roleId : int ) : Builder
Parameters
$query : Builder
$roleId : int
Return values
Builder

__construct()

public __construct( [ $attributes : array = [] ] ) : mixed
Parameters
$attributes : array = []
Return values
mixed

attributeExists()

Determine if an attribute exists on the model - even if it is null.

public attributeExists( $key : string ) : bool
Parameters
$key : string
Return values
bool

findUnique()

Determines whether a model exists by checking a unique column, including checking soft-deleted records.

public static findUnique( $value : mixed , $identifier : string [, $checkDeleted : bool = true ] ) : Model|null
Parameters
$value : mixed
$identifier : string
$checkDeleted : bool = true

set to true to include soft-deleted records

Return values
Model|null

relationExists()

Determine if an relation exists on the model - even if it is null.

public relationExists( $key : string ) : bool
Parameters
$key : string
Return values
bool

store()

Store the object in the DB, creating a new row if one doesn't already exist.

public store( ) : int

Calls save(), then returns the id of the new record in the database.

Return values
int

the id of this object.

newBaseQueryBuilder()

Overrides Laravel's base Model to return our custom query builder object.

protected newBaseQueryBuilder( ) : Builder
Return values
Builder

export()

Get the properties of this object as an associative array. Alias for toArray().

public export( ) : array
Tags
deprecated

since 4.1.8 There is no point in having this alias.

Return values
array

hasMany()

Overrides the default Eloquent hasMany relationship to return a HasManySyncable.

public hasMany( $related : string [, $foreignKey : string = null ] [, $localKey : string = null ] ) : HasManySyncable
Parameters
$related : string
$foreignKey : string = null
$localKey : string = null
Return values
HasManySyncable

morphMany()

Overrides the default Eloquent morphMany relationship to return a MorphManySyncable.

public morphMany( $related : string , $name : string [, $type : string = null ] [, $id : string = null ] [, $localKey : string = null ] ) : MorphManySyncable
Parameters
$related : string
$name : string
$type : string = null
$id : string = null
$localKey : string = null
Return values
MorphManySyncable

belongsToManyThrough()

Define a many-to-many 'through' relationship.

public belongsToManyThrough( $related : string , $through : string [, $firstJoiningTable : string = null ] [, $firstForeignPivotKey : string = null ] [, $firstRelatedKey : string = null ] [, $secondJoiningTable : string = null ] [, $secondForeignPivotKey : string = null ] [, $secondRelatedKey : string = null ] [, $throughRelation : string = null ] [, $relation : string = null ] ) : BelongsToManyThrough

This is basically hasManyThrough for many-to-many relationships.

Parameters
$related : string
$through : string
$firstJoiningTable : string = null
$firstForeignPivotKey : string = null
$firstRelatedKey : string = null
$secondJoiningTable : string = null
$secondForeignPivotKey : string = null
$secondRelatedKey : string = null
$throughRelation : string = null
$relation : string = null
Return values
BelongsToManyThrough

belongsToManyUnique()

Define a unique many-to-many relationship. Similar to a regular many-to-many relationship, but removes duplicate child objects.

public belongsToManyUnique( $related : string [, $table : string = null ] [, $foreignPivotKey : string = null ] [, $relatedPivotKey : string = null ] [, $parentKey : string = null ] [, $relatedKey : string = null ] [, $relation : string = null ] ) : BelongsToManyUnique

Can also be used to implement ternary relationships.

Parameters
$related : string
$table : string = null
$foreignPivotKey : string = null
$relatedPivotKey : string = null
$parentKey : string = null
$relatedKey : string = null
$relation : string = null
Return values
BelongsToManyUnique

morphToManyUnique()

Define a unique morphs-to-many relationship. Similar to a regular morphs-to-many relationship, but removes duplicate child objects.

public morphToManyUnique( $related : string , $name : string [, $table : string = null ] [, $foreignPivotKey : string = null ] [, $relatedPivotKey : string = null ] [, $parentKey : string = null ] [, $relatedKey : string = null ] [, $inverse : bool = false ] ) : MorphToManyUnique
Parameters
$related : string
$name : string
$table : string = null
$foreignPivotKey : string = null
$relatedPivotKey : string = null
$parentKey : string = null
$relatedKey : string = null
$inverse : bool = false
Return values
MorphToManyUnique

getBelongsToManyCaller()

Get the relationship name of the belongs to many.

protected getBelongsToManyCaller( ) : string
Return values
string

Search results