我的数据模型如下所述。我想写一个会返回的查询:
所以从部门开始,这是我尝试做的事情:
查询部门的评论:
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)'}});
我需要帮助重写查询,以便返回正确的结果。在这种情况下,最佳做法是什么,我该如何实施?
是否可以从评论开始查询模型底部应用程序 - > faculty-> department-> college?
或者我可以采用自上而下的方法,并使用一些嵌套的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")
});
第一个编辑问题 如何获得特定大学的所有评论? var rquery = store.query('review',{faculty.department.college._id:college._id})
或
var rquery = store.query('review', {faculty.department.college : college})
给我一个语法错误。
SyntaxError:quality-online / components / quality-chart.js:意外 令牌(50:44)
答案 0 :(得分:0)
使用faculty.department.college._id
时,查询函数开始在函数中查找faculty
对象的定义,并尝试从中访问department.college._id
的值并使用{返回的值} {1}}作为参数键。这就是问题所在。因为似乎faculty.department.college._id
对象没有被定义,因为这不是传递参数的正确方法。
如果您想向后端发送一些参数,请将其发送为faculty
或上述评论中提到的'college_id'
。唯一的条件是它应该是一个字符串,并在服务器端代码处理正确。