select *from user_relation_roles where user_id=?;
select *from roles where id in(?);
select permission_id from role_relation_admin_permissions where role_id in(??) ;
select reference_id from admin_permissions where id (?) and type=1;
select *from admin_menus where id in(?);
//用户后台权限
select *from role_relation_admin_permissions where role_id in (1);
select *from admin_permissions where id in(select permission_id from role_relation_admin_permissions where role_id in (1));
select *from admin_menus where id in(select reference_id from admin_permissions where id in(select permission_id from role_relation_admin_permissions where role_id in (1))) ;
添加后台菜单时,插入admin_menus,根据生成的 id 插入 admin_permissions 的 reference_id
授权时根据菜单 reference_id 查找对应的 id 插入 role_relation_admin_permissions 的 permission_id
CREATE TABLE `user_relation_roles` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID,关联users表中的主键',
`role_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '角色ID,关联roles表中的主键',
`employee_id` int(10) NOT NULL DEFAULT '0' COMMENT '员工ID,关联employee表中主键',
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `uinx_user_id_role_id` (`user_id`,`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户角色关系表';
CREATE TABLE `roles` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`role_name` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '角色名称',
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='角色表';
CREATE TABLE `role_relation_admin_permissions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`permission_id` int(10) unsigned NOT NULL COMMENT '权限ID,关联admin_permissions表id',
`role_id` int(10) unsigned NOT NULL COMMENT '角色ID',
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色权限关系表';
CREATE TABLE `admin_permissions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '权限ID',
`reference_id` int(11) NOT NULL DEFAULT '0' COMMENT '关联admin_menus表ID',
`type` smallint(2) NOT NULL DEFAULT '0' COMMENT '权限类型',
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uidx_reference_id_type` (`reference_id`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='权限菜单关系表';
CREATE TABLE `admin_menus` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '菜单名称',
`url` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '菜单对应的路由',
`parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父菜单id',
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `admin_menus_parent_id_index` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='后台管理菜单表';
$menu_url = [];
if(!empty($menu)){
foreach($menu['admin'] as $key=>$values){
if(!empty($values['children'])){
foreach($values['children'] as $val){
$menu_url[] = $val['url'];
}
}
}
}
1 后台首页 0 0 2015-05-15 18:13:12 2015-05-15 18:13:15
2 默认首页 admin/index 1 2015-05-15 18:13:07 2015-06-06 02:09:29
3 用户管理 0 0 2015-05-15 18:13:30 2015-05-15 18:13:33
4 用户列表 admin/user 3 2015-05-15 18:14:11 2015-05-22 00:49:16
5 菜单管理 0 0 2015-05-15 23:33:24 2015-05-15 23:33:31
6 菜单列表 admin/menu 5 2015-05-15 23:34:09 2015-05-22 01:02:39
7 添加菜单 admin/menu/add 5 2015-05-15 23:36:19 2015-05-30 17:12:10
9 角色分配 admin/role 5 2015-05-16 03:13:45 2015-05-22 01:20:16
12 用户授权 admin/user/menuauthorize 5 2015-05-18 11:35:30 2015-05-22 00:52:38
@foreach ($menu['admin'] as $key=>$value)
<div class="main_menu_title" style="cursor:pointer;">
<div class="main_menu_title_left" id="{{$value['parent']['id'] }}"> {{$value['parent']['name'] }}</div>
</div>
<ul id="group_menu_{{$value['parent']['id'] }}" class="group_menu_{{$value['parent']['id'] }}" style="display: @if($key == 1) block @else none @endif">
@if (!empty($value['children']))
@foreach ($value['children'] as $v)
<li class="menu_title" onclick="main_frame_src('{{url($v['url'])}}','{{$value['parent']['name'] }}','{{$v['name'] }}')" >
<span> {{$v['name'] }}</span>
</li>
@endforeach
@endif
</ul>
@endforeach
<div class="col-md-10 col-md-offset-2 main" style="padding-top:45px">
<div class="position" >当前位置:管理中心 >><span id="posInfo"></span></div>
<iframe src="{{url('admin/index')}}" name="main" width="100%" height="800" frameborder="0" scrolling="auto" id="main" style="margin-top:53px;">
</iframe>
</div>
function main_frame_src(url, pname, subname){
var event = event || window.event || false;
var ctrlKey = event.ctrlKey || false;
var command = event.metaKey || false;
if (ctrlKey || command) {
window.open(url);
} else {
$('#posInfo').html(pname+' >> '+subname+' ');
$("iframe").attr("src",url);
}
}
maatwebsite/excel http://www.maatwebsite.nl/laravel-excel/docs/getting-started#installation
PHP extension php_zip enabled (required if you need PHPExcel to handle .xlsx .ods or .gnumeric files)
/vendor/maatwebsite/excel/src/Maatwebsite/Excel/Writers/LaravelExcelWriter.php(263): Maatwebsite\\Excel\\Writers\\LaravelExcelWriter->_download(Array)