1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace App\Models;
- use App\Models\BaseModel;
- /**
- * @description 权限表
- * @author wangzhoudong <admin@yijinba.com>;
- * @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();
- }
- }
|