2016-12-07 3 views
1

나는 Ember를 처음 사용하고 있으며, 모든 것이 얼마나 간결한 지 지금까지 감탄했습니다. EmberFire로 데이터를 쿼리하는 것이 다소 이상하게 보일지라도. 위의 작품, 그것은 매우 우아 생각하지 않지만Ember Emberfire 검색어

store.query('user', { orderBy: 'email', equalTo: email }).then((response) => { 
    // expect response to be an object, or an array of objects 
    // but its actually a class, and needs the following to return data  
    var user = response.get('content')[0]._data; 

    // now able to access properties as originally expected 
    console.log(user.email); 
}); 

: 예를 들어, 구성 요소의 JS에서 내가 가진 기록을 찾을 수 있습니다. 내가 놓친 게 있니? 지금까지 내가 볼 수있는 한 질의를 설명하는 문서가 멈추었 기 때문에 모델의 속성에 접근하는 올바른 방법에 대한 도움은 많이 감사 할 것입니다.

감사

답변

0

store.queryAdapterPopulatedRecordArray로 확인되는 약속을 반환합니다. 그래서 예, 그것은 반을 돌려 주어야합니다.

레코드가 1 개만 반환 될 것으로 예상되는 경우 queryRecord을 사용해야합니다. 당신이 1 개 이상 기록을 기대하는 경우

store.queryRecord('user', { orderBy: 'email', equalTo: email }).then((user) => { 
    // now able to access properties as expected 
    console.log(user.get('email')); 
}); 

query를 계속 사용하면 반환되는 사용자 결과를 통해 루프 할 수 있습니다.

+0

"귀하의 어댑터가'queryRecord'", name : "Error"...를 구현하지 않았습니다. 설명 : undefinedfileName : undefinedlineNumber : undefinedmessage : "어설 션 실패 : 귀하의 어댑터가 쿼리를 시도했으나 'queryRecord' 이름을 구현하지 않음 : –

+0

어떤 버전의 ember와 어댑터를 사용하고 있습니까? – xcskier56

+0

"emberfire": "2.0.4" ember-cli : 2.8.0 노드 : 4.0.0 –

0

이 문제는 잠시 동안 존재했으며 누군가가이 방법으로 쿼리하기 전에 우아한 방법을 쓰기 전에 EmberFire이 사용되지 않았기 때문입니다.

This add-on은 문제를 해결하고 filterCustom 메서드로 상상할 수있는 방법을 거의 알려줍니다.