; * @version 1.0 * @date 2015-11-13 * */ class AdminAccessModel extends BaseModel { /** * 数据表名 * * @var string * */ protected $table = 'admin_access'; /** 主键 */ protected $primaryKey = 'id'; //分页 protected $perPage = PAGE_NUMS; /** * 可以被集体附值的表的字段 * * @var string */ protected $fillable = [ 'role_id', 'menu_id' ]; public function menus() { return $this->hasOne('App\Models\AdminMenusModel','id','menu_id'); } public $timestamps = false; /** * 取得用户组的权限信息 * * @param intval $groupId * @return array */ public function getRoleAccessMenu($roleIds,$isMenu = false) { if(is_string($roleIds)) { $roleIds = explode(',', $roleIds); } $info = $this->select('admin_menus.id', 'admin_menus.pid', 'admin_menus.path', 'admin_menus.name', 'admin_menus.ico', 'admin_menus.display', 'admin_menus.sort') ->leftJoin('admin_menus', 'admin_access.menu_id', '=', 'admin_menus.id') ->leftjoin("admin_roles","admin_access.role_id","=","admin_roles.id") ->whereIn('role_id',$roleIds) ->where("admin_roles.status",1); if($isMenu) { $info = $info->where("admin_menus.display",1); } $info = $info ->orderBy('admin_menus.sort', 'desc')->orderBy('admin_menus.id', 'asc') ->groupby(\DB::raw("admin_menus.id")) ->get(); return $info->toArray(); } }