2016-11-08 112 views
0

如果你想建立一個屬於關聯或的hasMany關係的模型,你可以做到以下幾點:灰燼模型嵌套的hasMany或屬於關聯關係

export default Model.extend({ 
    "client": DS.belongsTo('client',{ 
     async: true 
    }), 
    "days": attr(''), 
    "cars": DS.hasMany('car',{ // somehow nest within days 
     async: true 
    }) 
}); 

但是,如果我有一個動態的形式?例如,我有一個充滿空間的停車場。我創建了一個新的記錄,將客戶分配到我的停車場。然後我開始在一週的不同日子分配空間。在每個空間內,我想知道什麼車停在某一天的某個特定時間允許的地方。

據我所知,在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的關係,然後我可以從另一車型的車內拉出信息......車型,車型,微米,顏色等

+1

創建更多模型;) 也許你應該有一個模型'天'和一個'時間'與你的根模型'days:hasMany('day')'然後在當天'times:hasMany('time 「)'。 但是,您會考慮如果代表時間和日期的timslot的單個模型可能是更好的解決方案。 – Lux

+0

@lux我希望可能有一種「更容易」的方式,因爲這可能會創建許多不必要的記錄,而這些記錄不會與其他任何內容相關聯或需要自行訪問。 – Matt

+0

那麼你*可以*不使用轉換並輸出純JSON。但我會建議使用模型。 – Lux

回答

0

如果我正確理解這一點,我會有一個時隙模型。

每個時間段都有日期和時間,屬於客戶端和汽車。 您應該能夠確定哪些車輛在哪裏,哪些客戶在任何給定時間。

模型/ timeslot.js

export default Model.extend({ 
    "client": DS.belongsTo('client',{ 
     async: true 
    }), 
    "car": DS.belongsTo('car'), 
    "bayNumber": DS.attr('number'), 
    "day": DS.attr('date'), 
    "time": DS.attr('string') 
}) 

不能完全確定,如果這是你要找的,但希望它幫助。

+0

基本上,我想要一個帶按鈕的表單,我可以在這些地點添加停車位,每天可以添加更多時間,並且可以在這些時間內添加......我可以添加詳細信息,包括所有者和/或特定汽車從另一個模型。 '問題'是創建另一個時隙模型,要求我'創建這些記錄',即使它們沒有最終確定。換句話說,如果我們將博客帖子與評論進行比較......我想在他們成爲屬於博客帖子的實際「記錄」之前添加一大堆評論。 – Matt