0])->field($field)->order('pid')->select()->toArray(); //记录对应的关系 foreach ($tenantSystemMenuList as $item) { $tenantSystemMenu[$item['id']] = $item; } //创建菜单数据 foreach ($tenantSystemMenuList as $item) { $item['tenant_id'] = $tenant_id; //创建新的菜单并保存原本id对应现在的哪个信息 $oldId = $item['id']; unset($item['id']); $newMenu = TenantSystemMenu::create($item); $tenantSystemMenu[$oldId] = $newMenu; } //获取当前租户的初始化菜单关系 $tenantSystemMenuNewList = TenantSystemMenu::where(['tenant_id' => $tenant_id])->field($field)->order('pid')->select()->toArray(); //更新对应的主菜单关系 foreach ($tenantSystemMenuNewList as $item) { if ($item['pid'] != 0) $item['pid'] = $tenantSystemMenu[$item['pid']]['id']; $where = array('id' => intval($item['id'])); TenantSystemMenu::update($item, $where); } } }