1
イム:適切なJSONレスポンス
を、私は2つのテーブル、
TABLE order contains
pickup_address,
delivery_address
両方のフィールドを持つ外部キーは
TABLE address contains,
id,
city
を参照WICHています
もちろん、他の列はありますが、手元のクエリとは関係ありません。私は何をすべきか Basiclyは次のようになります。そのような
SELECT * from order LEFT join address ON (pickup = id) LEFT join address ON (delivery = id)
何か:)だから私は、順番に2つのアドレスを組み合わせて行を持っています。それは私が考えるきれいな解決策ではありません。
私がしようとしているのは、ユーザーがこのオーダーのAPIを照会できるようにすることです。すべてのデータをどのように返すべきかはわかりません。
- 注文TABLEの行のみを返して、それぞれのaddress_idの詳細をAPIにもう一度問い合わせさせますか?
- すべてのテーブルを結合した完全な行を返しますか?
JSONで注文と住所を区別していますか?そのような:
{ orders: [ { id: "1", pickUpAddress: "1", deliveryAddress: "2", } addresses: [ { id: "1", .... }, { id: "2", } ] }
- その他のオプション?
Basiclyしかし私は、イム注文20+について毎回返信、現在のJSON応答を行いました。これは効率的ですか?
{
code: 200,
data: {
orders: [
{
id: "1",
customer_id: "cust1",
reference: "asdfad",
state: "4",
pickUpAddress: "1",
pickUpDate: "2012-02-21",
deliveryAddress: "2",
deliveryDate: "2012-02-23",
pickup_street: "street 1",
pickup_housenumber: "1",
pickup_country: "belgium",
pickup_zipcode: "1000",
pickup_city: "brussels",
delivery_street: "street 2",
delivery_housenumber: "2",
delivery_country: "belgium",
delivery_zipcode: "1000",
delivery_city: "brussels"
}
]
}
}
編集した私のorg post。これは効率的でしょうか? – Sam
私はそれがより効率的であるかどうかにかかっていると思います。ユーザーは常にこれらすべての詳細を必要としていますか?もしそうなら、それらを提供するかもしれません。彼女が一度に1つの注文のアドレスを見る必要があるのであれば、彼女に2回別々の通話をさせてください。 –
まあ私は何が欲しいかわからない。私は一度にそれらをすべて得る場合、ユーザーは1回だけ待つ必要があります。ユーザーが注文IDを選択したときにそれらを取得すると、私は再同期する必要があり、彼は毎回待たなければなりません。 – Sam