Group.php 1.1 KB
<?php

namespace App\Models\Manage;



use App\Helper\Arr;
use App\Models\Base;

class Group extends Base
{
    protected $table = 'gl_manage_group';

    const STATUS_NORMAL = 1;
    const STATUS_ABNORMAL = 0;

    /**
     * @return string[]
     */
    public static function statusMap(){
        return [
            self::STATUS_NORMAL => '正常',
            self::STATUS_ABNORMAL => '禁用',
        ];
    }

    /**
     * 获取用户组路由权限
     * @param $gid
     * @return array
     */
    public static function getRouteByGroupId($gid)
    {
        $group = self::where(['id' => $gid, 'status' => self::STATUS_NORMAL])->first();
        if(!$group){
            return [];
        }
        $routes = Menu::where(['status' => Menu::STATUS_NORMAL])->whereIn('id', $group->rights)->pluck('route_name')->toArray();
        return array_filter($routes);
    }

    public function getRightsAttribute($value)
    {
        return Arr::setToArr($value);
    }

    public function setRightsAttribute($value)
    {
        $this->attributes['rights'] = Arr::arrToSet($value);
    }
}