【发布时间】:2016-11-08 23:42:03
【问题描述】:
如果您想设置一个具有 belongsTo 或 hasMany 关系的模型,您可以执行以下操作:
export default Model.extend({
"client": DS.belongsTo('client',{
async: true
}),
"days": attr(''),
"cars": DS.hasMany('car',{ // somehow nest within days
async: true
})
});
但是,如果我有一个动态表单怎么办?例如,我有一个满是车位的停车场。我创建了一条新记录以将客户分配到我的停车场。然后我开始在一周中的不同日子分配空间。在每个空间内,我想知道在特定时间允许停放哪辆车。
Afaik,JSON 输出应该是这样的:
{
"client" : "-EADn0NoAq65GRGOU-oQ",
"days" : [ {
"date" : "2016-11-11",
"times" : [ {
"when" : "morning",
// want to somehow define a hasmany for which cars are being parked and in which lot number here
} ]
}, {
"date" : "2016-11-12",
"times" : [ {
"when" : "afternoon"
// want to somehow define a hasmany for which cars are being parked and in which lot number here
} ]
} ]
}
看起来就像在模型中,您只定义“顶级”。您如何定义超出最高级别的关系?我希望能够访问特定的一天,然后时间...查看哪些汽车停在哪里,并通过 hasMany 关系,然后我可以从另一个模型中的汽车中提取信息...汽车类型,型号,里程、颜色等
【问题讨论】:
-
创建更多模型 ;) 可能您应该有一个模型
day和一个time,在您的根模型上使用days: hasMany('day'),然后在当天使用times: hasMany('time')。但是,您考虑是否用一个模型来表示具有时间和日期的时间槽可能是一个更好的解决方案。 -
@lux 我希望有一种“更简单”的方法,因为这可能会创建许多不必要的记录,这些记录不会与其他任何东西相关联或需要自己访问。
-
好吧,你可以不使用任何转换并输出纯 JSON。但我建议使用模型。
标签: ember.js ember-data has-and-belongs-to-many