4

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 は、1 対多の関係で 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 つのストアに保存したいのですが、それは別の問題になります ;-)

最初のストア (からのモデルに基づく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 で配列を作成しようとしましたが、期待どおりの結果が得られません。また、SQL を変更しようとしましGROUP BYGROUP_CONCATが、ここでも同じですが、必要な JSON を取得できません。

いくつかの助けをいただければ幸いです。

4

1 に答える 1