标签: hierarchical

如何在分层mysql表中选择节点的所有父节点?

我有一个MySQL表,表示树GUI组件的数据,这是我的表的结构:

treeTable ( 
  id INT NOT NULL PRIMARY KEY, 
  parentId INT, 
  name VARCHAR(255) 
);
Run Code Online (Sandbox Code Playgroud)

parentId 是一个自引用外键.

现在我想编写一个存储过程,它获取一个节点id并返回一个包含该节点及其所有父节点的结果集.

例如,假设我的表已填充此数据:

1, null, 'root'
2, 1   , 'level_1'
3, 2   , 'level_2'
Run Code Online (Sandbox Code Playgroud)

现在我想获取节点3(节点1和2)的所有父节点并返回包含所有树记录的结果集.有人能帮帮我吗?

mysql tree hierarchical

11
推荐指数
1
解决办法
5513
查看次数

单个mysql选择连接表到json层次片段,怎么样?

单个 MySQL选择查询来自两个连接表的所有信息,但是以分层方式检索的最佳和最优雅的方法是什么?

我有这两个表:

-----------------         ------------------
| Table COMPANY |         | Table EMPLOYEE |
-----------------         ------------------
| id            |         | id             |
| companyName   |         | companyId      |
-----------------         | employeeName   |
                          ------------------

(for each company, many employees)
Run Code Online (Sandbox Code Playgroud)

我想输出以下分层JSON片段:

[
    {"id": 1,
     "companyName": "Company A",
     "employees": [
         {"id": 1, "employeeName": "Employee 1"},
         {"id": 2, "employeeName": "Employee 2"}
    ]},
    {"id": 2,
     "companyName": "Company B",
     "employees": [
         {"id": 3, "employeeName": "Employee 3"},
         {"id": 4, "employeeName": "Employee 4"}
    ]}
]
Run Code Online (Sandbox Code Playgroud)

"解决方案"1:

在连接表上进行完整选择,然后在创建json片段后编写一些代码:

select …
Run Code Online (Sandbox Code Playgroud)

mysql sql json hierarchical

10
推荐指数
1
解决办法
3984
查看次数

Wordpress自定义帖子类型层次结构和菜单突出显示(current_page_parent)

我创建了一个自定义帖子类型的"投资组合"和页面,其中包含一个模板,用于检索与该自定义帖子类型匹配的所有帖子.

问题是当我深入到实际帖子时,帖子似乎位于主菜单突出显示的"博客"下面(将current_page_parent显示为一个类)

永久链接网址是正确的:www.site.com/portfolio/post-slug

但菜单认为父母是"博客".

这显然是一个等级问题,但我不知道如何解决它.

wordpress menu highlight hierarchical custom-post-type

9
推荐指数
2
解决办法
1万
查看次数

使用状态模式的分层状态机的最佳实践是什么?

我即将使用状态模式在C#中实现分层状态机.作为指导,我正在使用这个例子.但是,该示例并未提供有关分层状态的答案.不幸的是,我似乎无法在其他地方找到好的例子.我的第一个想法是为分层状态创建嵌套类.但这被认为是最佳实践还是有更好的解决方案?

映入眼帘!

更新:

我整个下午一直坐着试图实现如上所述的状态模式.HSM基于一个非常简单的媒体播放器:

alt text http://www.freeimagehosting.net/uploads/e8d2d6486a.jpg

我以为我已经做到了,但有一点我不明白.首先是我写的代码(抱歉,它非常多):

public class MediaPlayer
{
    public MediaPlayerStates state;

    public MediaPlayer(MediaPlayerStates state)
    {
        this.state = state;
    }

    public void OnButtonPressed()
    {
        state.OnButtonPressed(this);
    }

    public void DeviceBooted()
    { 
        state. ?????
    }

    //Other Functions
}

//The 3 initial states (Start, On, End) know only 2 events.
public abstract class MediaPlayerStates
{
    public abstract void OnButtonPressed(MediaPlayer player);
    public abstract void OffButtonPressed(MediaPlayer player);
}

//The very beginpoint of the state machine
public class Start : MediaPlayerStates …
Run Code Online (Sandbox Code Playgroud)

c# nested class fsm hierarchical

9
推荐指数
1
解决办法
7068
查看次数

基于分层角色/权限的访问

我想构建一个Hierarchical Role Base访问控制.这是我目前的架构:
在此输入图像描述

目前我有两个选项来构建这个系统:

  1. 将所有必需的权限附加到角色(非分层) 在此输入图像描述

  2. 仅附加特殊的"级别"权限并继承具有较低级别的权限 在此输入图像描述

是否有更好的方法或仅仅取决于我的项目需求?

我只是因为简单而倾向于选择Hierarchical.如果我这样做,有没有更好的方法来选择权限级别,也许使用二进制数字?

选项2会有一些角色级别,我会有一些级别的权限.因此,当我创建Full Administrator角色时,将继承所有其他权限,因为这将是级别4,而其他权限将具有小于级别4(或4000)的数字.

这有点矫枉过正吗?

php mysql permissions hierarchical role-based-access-control

9
推荐指数
1
解决办法
1735
查看次数

生成HierarchyID

我想像这样插入hierarchyId

/ - CEO(根)

/ 1/ - 采购经理/ 2/ - 销售经理

/ 1/1/ - 采购主管/ 2/1/ - 销售主管

这就是我想要使用的层次结构,它是正确的,如果是这样我怎么能这样做,任何人都可以给我一些代码片段.

sql hierarchical hierarchyid sql-server-2008

8
推荐指数
1
解决办法
7011
查看次数

是否可以在同一个表中引用不同的列?

如果博客有"类别"表,如下所示:

CREATE TABLE categories
(
  id INTEGER PRIMARY KEY AUTO_INCREMENT,
  parent_id INTEGER NOT NULL,
  name VARCHAR(30) NOT NULL,
  description TEXT,
  count INTEGER NOT NULL DEFAULT 0
);
Run Code Online (Sandbox Code Playgroud)

如果parent_id字段旨在引用类别表的"id"字段,那么我如何添加一个约束来确保插入parent_id的值引用id字段?

我只想确保只存在的类别id值可以用作新插入类别的父级.

sql create-table hierarchical

8
推荐指数
1
解决办法
5260
查看次数

在Java中使用什么策略进行分层重入读/写锁定?

我正在寻找高效的系统,以便分层组织一系列读/写锁,以管理对分层组织资源的访问.如果一个子树被锁定以进行写入,那么在它被释放之前,不应该在整个子树中获得其他锁定; 类似地,子树中的写锁定应该防止在父节点中锁定.

以下是我正在考虑的想法:

  • 使用Apache Commons Transaction.不幸的是,该项目自2008年3月以来一直没有更新,并且已经非正式终止.一些API文档似乎表明即将推出的版本(1.3或2.0)将包含某种层次锁定,但源代码无处可寻,似乎我们无法再访问其SVN存储库.

  • 使用一系列ReentrantReadWriteLocks,我将按层次结构组织.我不是并发专家,我有点害怕自己这样做.初步想法似乎表明,即使在我尝试锁定一个子树之前,我必须在管理ReentrantReadWriteLocks本身的整个结构上使用外锁- 这样即使释放一个锁,我也必须使用外锁...

  • 使用来自java.util.concurrentjava.util.concurrent.atomic实现我的分层锁的类比我用一系列ReentrantReadWriteLocks 更有效.

我已经准备好走最后一条路,但我很惊讶没有找到任何可以更好地解决这个问题的现有图书馆.所以:

  • 我错过了一些明显的解决方案?
  • 或者这个问题特别难以妥善解决?

java locking hierarchical reentrancy readwritelock

7
推荐指数
1
解决办法
1522
查看次数

使用分层索引更改数据框中的数据

如何使用层次索引更改DataFrame中的每个元素?例如,也许我想将字符串转换为浮点数:

from pandas import DataFrame
f = DataFrame({'a': ['1,000','2,000','3,000'], 'b': ['2,000','3,000','4,000']})
f.columns = [['level1', 'level1'],['item1', 'item2']]
f
Out[152]:
        level1
     item1   item2
0    1,000   2,000
1    2,000   3,000
2    3,000   4,000
Run Code Online (Sandbox Code Playgroud)

我试过这个:

def clean(group):
    group = group.map(lambda x: x.replace(',', ''))
    return group
f.apply(clean)
Out[153]:
(level1, item1) (level1, item2)
0    1000    2000
1    2000    3000
2    3000    4000
Run Code Online (Sandbox Code Playgroud)

如您所见,它会更改层次索引.我怎么能避免这个?或者也许有更好的方法.

谢谢

python hierarchical pandas

7
推荐指数
1
解决办法
221
查看次数

Spring 上下文层次结构中 bean 销毁的顺序

当 Spring 上下文层次结构关闭时,没有保证 bean 被销毁的顺序,这样说是否正确?例如,子上下文中的 bean 将在父上下文之前被销毁。从一个最小的例子来看,上下文的破坏似乎在上下文之间完全不协调(奇怪的是)。两个上下文都注册了一个关闭钩子,该钩子稍后将在不同的线程中执行。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextHierarchy({
    @ContextConfiguration(classes = {ATest.Root.class}),
    @ContextConfiguration(classes = {ATest.Child.class})
})
public class ATest {

@Test
public void contextTest() {
}

public static class Root {
    @Bean
    Foo foo() {
        return new Foo();
    }
}


public static class Child {
    @Bean
    Bar bar() {
        return new Bar();
    }

}

static class Foo {
    Logger logger = LoggerFactory.getLogger(Foo.class);
    volatile boolean destroyed;

    @PostConstruct
    void setup() {
        logger.info("foo setup");

    }

    @PreDestroy
    void destroy() {
        destroyed = true;
        logger.info("foo …
Run Code Online (Sandbox Code Playgroud)

java spring spring-test hierarchical context-configuration

7
推荐指数
1
解决办法
7473
查看次数