1

以前は、結果セット (1 次元) を json にエンコードしていました。ここで、複数のテーブルに基づいて多次元の json データ構造を作成する必要があります。私はこれをしたことがないので、助けが必要です。

私のテーブル:

  • ユーザー (1 対多)
  • 電話 (多対 1)
  • アドレス (多対 1)
  • 名前 (多対 1)

行ごとに次の構造を持つ JSON 応答を作成する必要があります。

  • ユーザー ID: ユーザー ID
  • 電話: phone1、phone2、phone3 など。
  • アドレス: address1、address2、address3 など。
  • 名前: name1、name2、name3 など。

どうすればいいですか?

たとえば、各テーブル (電話、住所、名前) に対して 3 つのクエリを作成し、各テーブルのデータ セットを返し、各結果セットを json にエンコードできると考えています。今私の質問:これを行う正しい方法でしょうか? 各子 json を親 json に追加するにはどうすればよいですか?

$userJson = json_encode($user_id_resultSet);
$phonesJson = json_encode($phones_resultSet);
$addressesJson = json_encode($addresses_resultSet);
$namesJson = json_encode($names_resultSet);
//how do I combine them into one row?
4

1 に答える 1

2
$combined = array(
  "user" => $user_id_resultSet,
  "phones" => $phones_resultSet,
  "addresses" => $addresses_resultSet,
  "names" => $names_resultSet
);

echo json_encode($combined, JSON_PRETTY_PRINT); // just for neat output.
于 2013-06-29T22:08:56.510 に答える