以下に示すようなモデル構造があり、Bookings 配列を DataView のデータソースとして使用する方法を知りたいです。
モデル構造:
Client
ClientId
Name
Bookings (HasManyAssociation)
Contacts (HasManyAssociation)
AjaxProxy
JsonReader (ImplicitIncludes is set to true so child models are created with one call)
Booking
BookingNodeId
BookingDetails
Contact
ContactNodeId
ContactDetails
上記により、次のようなデータ構造が得られます。
Client
Bookings[
Booking
Booking
]
Contacts[
Contact
Contact
]
私ができるようにしたいのは、Bookings 配列から Store を作成し、そのストアを DataView のデータソースとして使用するか、Bookings 配列をデータソースとして直接使用することです (どのように行うかはあまり気にしません)正直に言ってください)。
予約モデルで AjaxProxy をセットアップすると正常に動作しますが、JSON をロードするときにクライアントと連絡先を自動的に作成することはできません。
階層的にトップレベルのモデルであるクライアントモデルがデータをロードするモデルであることは理にかなっているように思えます。
編集:
私は次のようにそれを理解しました(dataview.setStore()ポインターについては、以下のhandet87に特に感謝します)。
この場合の重要な点は、リレーションシップを作成すると、別のストア (この場合は BookingsStore と ContactsStore) が実際にセットアップされることを理解することです。私がする必要があったのは、 dataview.setStore("BookingsStore") だけでした