<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
/**
* @property mixed first_name
* @property mixed last_name
* @property mixed name
* @method static where(string $string, string $uid)
*/
class Admin extends Model
{
use Notifiable;
protected $table = 'admins';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'user_id',
'creator_id',
'admin_role',
];
/**
* Bootstrap any application services.
*/
public static function boot()
{
parent::boot();
// Create uid when creating list.
static::creating(function ($item) {
// Create new uid
$uid = uniqid();
while (self::where('uid', $uid)->count() > 0) {
$uid = uniqid();
}
$item->uid = $uid;
});
}
/**
* @return string
*/
public function displayName(): string
{
return $this->first_name . ' ' . $this->last_name;
}
/**
* @return string
*/
public function __toString(): string
{
return $this->name;
}
}