私は簡単なEmberFireクエリに問題があります。 名前で部門オブジェクトを探し、それを以下に説明するデータモデルに従って大学の部門に追加したいと思います。初心者Emberfireクエリ
私が受けていますエラーは次のとおりです。
TypeError: Cannot read property 'pushObject' of undefined
私が間違って何をしているのですか?
部門がある store.query('college', {orderBy: 'name', equalTo: "CAS"}).then(function(c){
var college = c
console.log(college);
dept.set('college',college);
college.get('departments').pushObject(dept);
dept.save();
college.save()
}
)
:ここ
store.query('department', {orderBy: 'name', equalTo: "Testing One"}).then(function(depts){
// var dept = depts.get('content')[0]
var dept = depts})
は私の完全なクエリです:
findOne(){
var store = this.store
// store.query('department', {orderBy: 'name', equalTo: "Testing One"}).then(function(depts){
store.query('department', {orderBy: 'name', equalTo: "Testing One"}).then(function(depts){
// var dept = depts.get('content')[0]
var dept = depts
console.log(dept);
//Add it to college
store.query('college', {orderBy: 'name', equalTo: "CAS"}).then(function(c){
var college = c//.get('content')[0]
console.log(college);
dept.set('college',college);
college.get('departments').pushObject(dept);
dept.save();
college.save()
}
)
})
},
部門:
export default DS.Model.extend({
name: DS.attr('string'),
faculty:DS.hasMany('faculty'),
college: DS.belongsTo('college')
});
大学:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
departments: DS.hasMany('department')
});
EDIT:クエリからCオブジェクト:
Class
__ember1484688357664
:
"ember632"
__ember_meta__
:
Meta
__firebaseCleanup
:
()
_super
:
ROOT()
_updatingPromise
:
null
content
:
(...)
get content
:
GETTER_FUNCTION()
set content
:
SETTER_FUNCTION(value)
isLoaded
:
true
isUpdating
:
false
links
:
EmptyObject
manager
:
Class
meta
:
EmptyObject
query
:
Object
store
:
Class
type
:
[email protected]:college:
__proto__
:
Class
"c"がクエリからオブジェクトを戻していますか?最初に確認してください。 console.log(c)次に、コンソールに出力するかどうかを確認します。私は部門を逃しているかもしれない。 – talves
@talves更新された回答を確認してください。私は 'c'を印刷しました。それは「大学」タイプです。私はそれが関連付けられていない場合、部門の空の配列を持っている必要がありますか? –
申し訳ありませんが、console.log(college.get( 'departments'))を試してみるとよいでしょう。それは未定義です。たぶんあなたは大学を意味するかもしれません.get( 'department')singular。 – talves