Итак, в моем коде я пытаюсь найти автора и связанные с ним книги
это мой ответ сервера
data:{
attributes:{name: "joseph"}
type:"Author"
id:"1"
relationships: {books: {data: [{id: "1", type: "books"}, {id: "2", type: "books"}]}}
}
included:
[
{id: "1", type: "books", attributes: {title: "catch22"}},
{id: "2", type: "books", attributes: {title: "catch23"}}
]
а это мой сериализатор
import { JSONAPISerializer } from 'ember-cli-mirage';
import { underscore } from '@ember/string';
export default JSONAPISerializer.extend({
alwaysIncludeLinkageData: true,
keyForAttribute: function(attr) {
return underscore(attr);
},
keyForRelationship: function(rawKey) {
return underscore(rawKey);
}
});
так что в моем коде я использую queryRecord для получения информации об авторе
так что в моем mirage / config.js я попробовал это
this.get('/authors', () => {
some logic i need to implement here
var author = server.db.authors.find(1)
// debugger
var included = []
var book_array = []
var included_array = []
if(author.bookIds != null){
author.bookIds.forEach((book) => {
var book = server.db.books.find(book)
book_array.push({id: book.id, type: "books"})
included_array.push({id: book.id, type: "books", attributes: book})
})
included = included_array
}
return {data: {type: 'authors', id: author.id, attributes: author, relationships: {books:book}}, included: included_array };
});
но я только получаю информацию об авторе, а я не получаю информацию о книге
если я попробую что-то вроде this.get ('author.books.length') в моем коде, я получу 0,
я не уверен, что еще нужно сделать, чтобы получить часть hasMany
Может кто-нибудь сказать мне, как получить много частей
Спасибо