我的數據模型如下所述。我想編寫一個查詢,將返回:Ember&Firebase數據查詢採用自下而上的方式嗎?
- 審查的名單在給定的部門在給定的大學
所以特定類型的訓練評論的
查詢部門的評論:
var department = this.store.findRecord('department',params.department_id)
var reviews = this.store.query('review' {'faculty.department':department});
查詢特定的培訓:
var design = this.store.query('training',{'faculty.department':department, filter:{type:'ATC Design Course (DQOC)'}});
查詢所有教師在給定的大學工作的評論:
var college = this.get('college');
var cid = college.getProperties("id").id
var reviewQuery = store.query('review',{'faculty.department.college._id':college._id});
var trainingQuery = store.query('training',{'faculty.department.college._id':college._id});
無論是查詢給我結果,我期待的。看起來他們都評估查詢,查找給定模型類型的所有結果,例如下面的查詢返回所有類型的所有培訓模型。
var design = this.store.query('training',{'faculty.department':department, filter:{type:'ATC Design Course (DQOC)'}});
我需要幫助重寫查詢,以便他們將返回正確的結果。這種情況下的最佳做法是什麼?我應該如何實施?
是否可以從評論 - >教師 - >部門 - >大學開始查詢模型底部的應用程序?
或者我可以採用自頂向下的方法,並用一些嵌套for循環結構查詢所有部門,教師等,但如果可能的話,想要以其他方式。這個查詢如何看起來像?
我會很感激任何幫助。
院校:
export default DS.Model.extend({
name: DS.attr('string'),
departments: DS.hasMany('department')
});
部門
export default DS.Model.extend({
name: DS.attr('string'),
faculty:DS.hasMany('faculty'),
college: DS.belongsTo('college')
});
學院:
export default DS.Model.extend({
profile_image:DS.attr('string'),
firstname: DS.attr('string'),
lastname: DS.attr('string'),
salutation: DS.attr('string'),
email: DS.attr('string'),
department: DS.belongsTo('department'),
reviews: DS.hasMany('review'),
training: DS.hasMany('training')
});
評論
export default DS.Model.extend({
faculty: DS.belongsTo('faculty'),
courseName:DS.attr('string'),
internalDate:DS.attr("date"),
externalDate:DS.attr("date"),
funDate:DS.attr("date"),
recertificationDate:DS.attr("date")
});
培訓
export default DS.Model.extend({
type: DS.attr('string'),
faculty: DS.belongsTo('faculty'),
date:DS.attr("date")
});
FIRST EDITS問題 我怎樣才能得到一個給定的大學所有的評論? VAR rquery = store.query( '審查',{faculty.department.college._id:college._id})
或
var rquery = store.query('review', {faculty.department.college : college})
給我一個語法錯誤。
SyntaxError: quality-online/components/quality-chart.js: Unexpected token (50:44)
錯誤是因爲'faculty.department.college'。你不能用'.'來傳遞參數。如果你想發送一些參數到後端,你可以把它作爲'college_id:college._id'發送並處理服務器端代碼中的參數。 – Sumit
感謝您的關注。我懂了。問題是Review模型沒有college屬性。評論屬於隸屬於大學部門的教師。 所以問題是有沒有一種方法來查詢父對象這種方式? –
可以很容易地告訴您是否可以共享模型對象。從理論上講,因爲這裏有一個層次結構,所以我猜測複習對象必須保存其父母的身份,講師和指導者將擁有部門的身份,而部門必須掌握關於學院的數據。從我能理解的情況來看,當你從下到上的一對一關係。我假設你現在的模型是複習,然後使用'this.get('model.instructor.department.college')'應該帶你到大學對象 – Sumit