$users * @property-read Collection $roles * @property-read Collection $staffApplications * * @method static \Illuminate\Database\Eloquent\Builder|Permission where($column, $operator = null, $value = null) */ class Permission extends Model implements HasBadge { #[\Override] protected $table = 'permissions'; #[\Override] public $timestamps = false; #[\Override] protected $guarded = ['id', 'rank_name']; public function users(): HasMany { return $this->hasMany(User::class, 'rank', 'id'); } public function roles(): HasMany { return $this->hasMany(PermissionRole::class); } public function staffApplications(): HasMany { return $this->hasMany(StaffApplication::class, 'rank_id'); } public function getBadgePath(): string { return sprintf('%s%s.gif', setting('badges_path'), $this->getBadgeName()); } public function getBadgeName(): string { return $this->badge; } }