UserGroups
extends Model
in package
Uses
Uuid, Slug, Status, Find
User groups database model
Table of Contents
Properties
- $ACTIVE : mixed
- Active
- $CANCELLED : mixed
- Cancelled
- $COMPLETED : mixed
- Completed
- $DISABLED : mixed
- Disabled
- $PENDING : mixed
- Pending activation
- $PUBLISHED : mixed
- Published
- $SUSPENDED : mixed
- Suspended
- $timestamps : bool
- Disable timestamps
- $DEFAUL_SLUG_COLUMN : string
- Default slug column name
- $DEFAUL_SLUG_SEPARATOR : string
- Default slug column name
- $DEFAUL_SLUG_SOURCE_COLUMN : string
- Default slug source column
- $DEFAULT_STATUS_COLUMN : string
- Default status column name
- $DEFAULT_UUID_COLUMN : string
- Default uuid column name
- $fillable : array<string|int, mixed>
- Fillable attributes
- $statusText : array<string|int, mixed>
- Status text
- $table : string
- Db table name
Methods
- ACTIVE() : int
- Return active value
- addUser() : bool
- Add user to group
- bootSlug() : void
- Set model event on saving
- bootUuid() : void
- Init model events.
- CANCELLED() : int
- Cancelled
- COMPLETED() : int
- Return completed value
- createGroup() : Model|false
- Create group
- createSlug() : string
- Create slug from text
- deleteUser() : bool
- Deleet user form all groups
- DISABLED() : int
- Return disabled value
- findByColumn() : Model|null
- Find model by column name
- findById() : Model|null
- Find model by id or uuid
- findByIdQuery() : Builder
- Return query builder
- findBySlug() : Model|null
- Find model by slug
- findGroup() : Model|null
- Find group model by id, uuid, slug, title
- findItems() : QueryBuilder|false
- Find collection of models by id or uuid
- findMultiple() : Builder
- Find multiole query
- findQuery() : Builder
- Return query builder
- getActive() : Builder
- Return active model query builder
- getDisabled() : Builder
- Return disabled model query builder
- getIdAttributeName() : string
- Return id column name dependiv of id value type for string return uuid
- getLastId() : int|null
- Get last id
- getLastRow() : Model|null
- Get last row
- getSlug() : string
- Get slug value
- getUserGroups() : array<string|int, mixed>
- Get user groups
- hasAttribute() : bool
- Return true if atr exist
- hasUser() : bool
- Return true if user is member in current group.
- inGroup() : bool
- Return true if user is member of gorup
- members() : Relation
- Group members relation
- PENDING() : int
- Pending activation
- removeUser() : bool
- Remove user from group
- resolveStatusText() : int|false
- Resolve status id
- resolveStatusValue() : int
- Get status value
- saveSlug() : Model
- Save slug
- scopeActiveQuery() : Builder
- Active status scope
- scopeSearchIgnoreCase() : Builder
- Case insensitive search
- scopeSlugQuery() : Builder
- Find by slug scope
- scopeStatusQuery() : Builder
- Status scope
- setSlug() : void
- Set slug field
- setStatus() : bool
- Set model status
- SUSPENDED() : int
- Suspended
- whereIgnoreCase() : Builder
- Where case insensitive
Properties
$ACTIVE
Active
public
static mixed
$ACTIVE
= 1
$CANCELLED
Cancelled
public
static mixed
$CANCELLED
= 6
$COMPLETED
Completed
public
static mixed
$COMPLETED
= 2
$DISABLED
Disabled
public
static mixed
$DISABLED
= 0
$PENDING
Pending activation
public
static mixed
$PENDING
= 4
$PUBLISHED
Published
public
static mixed
$PUBLISHED
= 3
$SUSPENDED
Suspended
public
static mixed
$SUSPENDED
= 5
$timestamps
Disable timestamps
public
bool
$timestamps
= false
$DEFAUL_SLUG_COLUMN
Default slug column name
protected
static string
$DEFAUL_SLUG_COLUMN
= 'slug'
$DEFAUL_SLUG_SEPARATOR
Default slug column name
protected
static string
$DEFAUL_SLUG_SEPARATOR
= '-'
$DEFAUL_SLUG_SOURCE_COLUMN
Default slug source column
protected
static string
$DEFAUL_SLUG_SOURCE_COLUMN
= 'title'
$DEFAULT_STATUS_COLUMN
Default status column name
protected
static string
$DEFAULT_STATUS_COLUMN
= 'status'
$DEFAULT_UUID_COLUMN
Default uuid column name
protected
static string
$DEFAULT_UUID_COLUMN
= 'uuid'
$fillable
Fillable attributes
protected
array<string|int, mixed>
$fillable
= ['title', 'uuid', 'slug', 'status', 'description']
$statusText
Status text
protected
array<string|int, mixed>
$statusText
= ['disabled', 'active', 'completed', 'published', 'pending', 'suspended', 'cancelled']
$table
Db table name
protected
string
$table
= 'user_groups'
Methods
ACTIVE()
Return active value
public
ACTIVE() : int
Return values
intaddUser()
Add user to group
public
addUser(int|string $group, int|string $userId[, int|null $dateExpire = null ]) : bool
Parameters
- $group : int|string
-
Id, Uuid, slug or title
- $userId : int|string
- $dateExpire : int|null = null
Return values
boolbootSlug()
Set model event on saving
public
static bootSlug() : void
bootUuid()
Init model events.
public
static bootUuid() : void
CANCELLED()
Cancelled
public
CANCELLED() : int
Return values
intCOMPLETED()
Return completed value
public
COMPLETED() : int
Return values
intcreateGroup()
Create group
public
createGroup(string $title[, string $description = '' ]) : Model|false
Parameters
- $title : string
- $description : string = ''
Return values
Model|falsecreateSlug()
Create slug from text
public
createSlug(string $text[, string|null $separator = null ]) : string
Parameters
- $text : string
- $separator : string|null = null
Return values
stringdeleteUser()
Deleet user form all groups
public
deleteUser(int $userId) : bool
Parameters
- $userId : int
Return values
boolDISABLED()
Return disabled value
public
DISABLED() : int
Return values
intfindByColumn()
Find model by column name
public
findByColumn(mixed $value[, string|null|array<string|int, mixed> $column = null ]) : Model|null
Parameters
- $value : mixed
- $column : string|null|array<string|int, mixed> = null
Return values
Model|nullfindById()
Find model by id or uuid
public
findById(int|string $id) : Model|null
Parameters
- $id : int|string
Return values
Model|nullfindByIdQuery()
Return query builder
public
findByIdQuery(int|string $id) : Builder
Parameters
- $id : int|string
Return values
BuilderfindBySlug()
Find model by slug
public
findBySlug(string $slug) : Model|null
Parameters
- $slug : string
Return values
Model|nullfindGroup()
Find group model by id, uuid, slug, title
public
findGroup(mixed $value) : Model|null
Parameters
- $value : mixed
Return values
Model|nullfindItems()
Find collection of models by id or uuid
public
findItems(array<string|int, mixed>|null $items) : QueryBuilder|false
Parameters
- $items : array<string|int, mixed>|null
Return values
QueryBuilder|falsefindMultiple()
Find multiole query
public
findMultiple(array<string|int, mixed> $idList) : Builder
Parameters
- $idList : array<string|int, mixed>
Return values
BuilderfindQuery()
Return query builder
public
findQuery(mixed $value[, string|null|array<string|int, mixed> $column = null ]) : Builder
Parameters
- $value : mixed
- $column : string|null|array<string|int, mixed> = null
Return values
BuildergetActive()
Return active model query builder
public
getActive() : Builder
Return values
BuildergetDisabled()
Return disabled model query builder
public
getDisabled() : Builder
Return values
BuildergetIdAttributeName()
Return id column name dependiv of id value type for string return uuid
public
getIdAttributeName(int|string $id) : string
Parameters
- $id : int|string
Return values
stringgetLastId()
Get last id
public
getLastId() : int|null
Return values
int|nullgetLastRow()
Get last row
public
getLastRow([string $field = 'id' ]) : Model|null
Parameters
- $field : string = 'id'
Return values
Model|nullgetSlug()
Get slug value
public
getSlug() : string
Return values
stringgetUserGroups()
Get user groups
public
getUserGroups(int $userId) : array<string|int, mixed>
Parameters
- $userId : int
Return values
array<string|int, mixed>hasAttribute()
Return true if atr exist
public
hasAttribute(string $attr) : bool
Parameters
- $attr : string
Return values
boolhasUser()
Return true if user is member in current group.
public
hasUser(int $userId[, object|null $group = null ]) : bool
Parameters
- $userId : int
- $group : object|null = null
Return values
boolinGroup()
Return true if user is member of gorup
public
inGroup(int|string $group, int $userId) : bool
Parameters
- $group : int|string
-
Group Id, Uuid or Slug
- $userId : int
Return values
boolmembers()
Group members relation
public
members() : Relation
Return values
RelationPENDING()
Pending activation
public
PENDING() : int
Return values
intremoveUser()
Remove user from group
public
removeUser(int $groupId, int $userId) : bool
Parameters
- $groupId : int
- $userId : int
Return values
boolresolveStatusText()
Resolve status id
public
resolveStatusText(string|int $status) : int|false
Parameters
- $status : string|int
Return values
int|falseresolveStatusValue()
Get status value
public
resolveStatusValue([int|null|string $status = null ]) : int
Parameters
- $status : int|null|string = null
Return values
intsaveSlug()
Save slug
public
static saveSlug(Model $model) : Model
Parameters
- $model : Model
Return values
ModelscopeActiveQuery()
Active status scope
public
scopeActiveQuery(Builder $query) : Builder
Parameters
- $query : Builder
Return values
BuilderscopeSearchIgnoreCase()
Case insensitive search
public
scopeSearchIgnoreCase(Builder $query, string $column, string|null $value) : Builder
Parameters
- $query : Builder
- $column : string
- $value : string|null
Return values
BuilderscopeSlugQuery()
Find by slug scope
public
scopeSlugQuery(Builder $query, string $slug[, int|null $userId = null ]) : Builder
Parameters
- $query : Builder
- $slug : string
- $userId : int|null = null
Return values
BuilderscopeStatusQuery()
Status scope
public
scopeStatusQuery(Builder $query, mixed $items) : Builder
Parameters
- $query : Builder
- $items : mixed
Return values
BuildersetSlug()
Set slug field
public
setSlug([string|null $text = null ]) : void
Parameters
- $text : string|null = null
setStatus()
Set model status
public
setStatus([int|string|null $status = null ]) : bool
Parameters
- $status : int|string|null = null
Return values
boolSUSPENDED()
Suspended
public
SUSPENDED() : int
Return values
intwhereIgnoreCase()
Where case insensitive
public
whereIgnoreCase(string $attribute, mixed $value[, string $operator = '=' ]) : Builder
Parameters
- $attribute : string
- $value : mixed
- $operator : string = '='