私は次の構造を持っています:
CREATE TABLE folder (
id integer primary key,
name varchar(255)
);
CREATE TABLE folder_path (
folder_id integer references folder(id),
path ltree
);
INSERT INTO folder (id,name) VALUES (1,'f1');
INSERT INTO folder (id,name) VALUES (2,'f2');
INSERT INTO folder_path (folder_id, path) VALUES (1,'1');
INSERT INTO folder_path (folder_id, path) VALUES (2,'1.2');
INSERT INTO folder_path (folder_id, path) VALUES (2,'2');
次のように、パスを含むすべてのフォルダーを選択する必要があります。
[
{ id: 1,
name: 'f1',
paths: [
[{id: 1, name: 'f1'}]
]
}
{ id: 2,
name: 'f2',
paths: [
[{id: 1, name: 'f1'}, {id: 2, name: 'f2'}],
[{id: 2, name: 'f2'}]
]
]
これどうやってするの?ありがとう。sqlfiddle: http://sqlfiddle.com/#!15/6b974/12