12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- declare(strict_types=1);
- namespace Modules\Permissions\Models;
- use Catch\Base\CatchModel as Model;
- use Illuminate\Database\Eloquent\Collection;
- use Illuminate\Database\Eloquent\Relations\BelongsToMany;
- /**
- * @property $role_name
- * @property $identify
- * @property $parent_id
- * @property $description
- * @property $data_range
- * @property $creator_id
- * @property $created_at
- * @property $updated_at
- * @property $deleted_at
- */
- class Roles extends Model
- {
- protected $table = 'roles';
- protected $fillable = ['id', 'role_name', 'identify', 'parent_id', 'description', 'data_range', 'creator_id', 'created_at', 'updated_at', 'deleted_at'];
- /**
- * @var array
- */
- protected array $fields = ['id', 'role_name','identify','parent_id','description','data_range', 'created_at', 'updated_at'];
- /**
- * @var array
- */
- protected array $form = ['role_name','identify','parent_id','description','data_range'];
- protected array $formRelations = ['permissions', 'departments'];
- /**
- * @var bool
- */
- protected bool $isPaginate = false;
- /**
- * @var array
- */
- public array $searchable = [
- 'role_name' => 'like',
- 'id' => '<>'
- ];
- protected bool $asTree = true;
- /**
- *
- * @return BelongsToMany
- */
- public function permissions(): BelongsToMany
- {
- return $this->belongsToMany(Permissions::class, 'role_has_permissions', 'role_id', 'permission_id');
- }
- /**
- * departments
- *
- * @return BelongsToMany
- */
- public function departments(): BelongsToMany
- {
- return $this->belongsToMany(Departments::class, 'role_has_departments', 'role_id', 'department_id');
- }
- /**
- * get role's permissions
- * @return Collection
- */
- public function getPermissions(): Collection
- {
- return $this->permissions()->get();
- }
- /**
- * get role's departments
- * @return Collection
- */
- public function getDepartments(): Collection
- {
- return $this->departments()->get();
- }
- }
|