【发布时间】:2012-06-18 07:34:38
【问题描述】:
我正在构建一个 Sencha-Touch 2 应用程序,但在从服务器端 (mysql DB) 恢复数据时遇到了一些问题。
这是我的数据模型:
Table1 :
ID:int
description:varchar(100)
Table2 :
ID:int
description:varchar(100)
table1_ID:int
Table3 :
ID:int
name:varchar(100)
info:varchar(100)
table2_ID:int
Table1 以一对多的关系连接到 Table2 和 Table2 和 Table3 之间。
我想从服务器得到一个嵌套的 JSON,看起来像这样:
[
Table1_object1_ID: 'id' : {
Table1_object1_description: 'description',
Table2_Objects : [
'Table2_object1': {
Table2_object1_id : 'id',
Table2_object1_description : 'description'
Table3_Objects : [
table3_object1: {
Table3_object1_name : 'name',
Table3_object1_info : 'info',
},
table3_object2: {
Table3_object2_name : 'name',
Table3_object2_info : 'info',
},
table3_object3: {
Table3_object3_name : 'name',
Table3_object3_info : 'info',
},
etc...
],
},
'Table2_object2': {
Table2_object2_id : 'id',
Table2_object2_description : 'description'
Table3_Objects : [
...
]
},
etc....
]
},
Table1_object2_ID: 'id' : {
etc....
]
在我的应用程序中,我为每个表使用 3 个模型,理想情况下我想将数据保存在 3 个商店中,但这将是另一个问题 ;-)
第一个 Store(基于来自 Table1 的模型)执行 JsonP 请求以获取嵌套 JSON。
其实我在 PHP 文件中的 SQL 请求很简单:
SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.ID = Table2.table1_ID
INNER JOIN Table3 ON Table2.ID = Table3.table2_ID;
我尝试根据我的 SQL 结果在 PHP 中创建一个数组,但无法获得预期结果。
我也尝试使用GROUP BY 和GROUP_CONCAT 更改我的SQL,但这里相同,无法获得我想要的JSON。
非常感谢您的帮助。
【问题讨论】:
标签: php mysql sql json sencha-touch-2