我正在使用 CakePHP 查询我的数据库表“任务”,其中包括 project_id、id、parent_id、title、description。我的控制器代码像这样处理查询:
$query= $this->Task->find('threaded', array(
'conditions' => array(
'Task.project_id' => 83,
),
'fields' => array(
'Task.id',
'Task.title',
'Task.parent_id',
)
));
//Pass the result to the view
$this->set('query', $query);
然后在我看来,如果我使用以下内容解码 json:
<?php echo json_encode($simple); ?>
我得到以下json结构:
[
{
"Task": {
"id": "475",
"title": "Have a Picnic",
"parent_id": "0"
},
"children": [
{
"Task": {
"id": "476",
"title": "Drive/Hike to Moutains",
"parent_id": "475"
},
"children": []
}
]
}
]
(我用这个工具美化了它,输出当然是一个连续的字符串)
但是 JS JIT SpaceTree 需要以下结构:
{
"id": "aUniqueIdentifier",
"name": "usually a nodes name",
"data": [
{key:"some key", value: "some value"},
{key:"some other key", value: "some other value"}
],
children: [/* other nodes or empty */]
}
而且我不知道如何调整输出或更改我的查询以返回正确的结构。此外,我尝试了“线程”和“列表”find() 类型并获得相同的结构。非常感谢任何帮助!