2016-06-16 2 views
1

в данной Ember мы имеем:Эмбер JS поиск записей по нескольким идентификаторам

this.store.findQuery('book', 1); 

вернется в /книги/1

Теперь я хочу, чтобы вернуть список идентификатора, например /книг/1,2,3,4

Что я могу сделать? Я также пытаюсь

this.store.findQuery('book','1,2,3,4'); 

Но есть 2 проблемы с этим:
1. возвращающие книги/1% 2C2% 2C3% 2C4: запятая декодированием в HTML голец, поэтому не работает
2. насколько поскольку я знаю, что findQuery используется только для поиска одиночной записи с идентификаторами, а не несколькими записями. https://guides.emberjs.com/v2.3.0/models/finding-records/

ответ

2

Я думаю, что вы хотите найти все записи с заданным ID. Для этого есть объект запроса, который можно передать фильтр

this.store.query('book', {reload:true, filter: {book_ids: '1,2,3,4'} }) 

Это ударит сервер/книги? Фильтровать [book_ids] = 1,2,3,4, а затем на вашей стороне сервера вы можете найти все записи которые находятся внутри этого массива 1,2,3,4, например SELECT * BOOKS WHERE ID IN (1,2,3,4) - не уверены, что вы используете на стороне сервера.

reloed: true необязательно - это если вы хотите принудительно перезагрузить данные каждый раз, когда вы посещаете маршрут. Это объясняется здесь в разделе запроса для нескольких записей

https://guides.emberjs.com/v2.5.0/models/finding-records/#toc_querying-for-multiple-records

Смежные вопросы