在Ember数据中我们有:
this.store.findQuery('book', 1);
将以 / books / 1
返回现在我想返回一个id列表,例如 / books / 1,2,3,4
我该怎么办?我也试试
this.store.findQuery('book','1,2,3,4');
但这有两个问题:
1.它返还书籍/ 1%2C2%2C3%2C4:逗号解码为html字符,所以不工作
2.据我所知,findQuery仅用于查找带有id的单个记录,而不是用于多个记录
https://guides.emberjs.com/v2.3.0/models/finding-records/
答案 0 :(得分:2)
我想你想找到具有给定ID的所有记录。为此,有一个查询对象,您可以传递过滤器
this.store.query('book', {reload:true, filter: {book_ids: '1,2,3,4'} })
这将命中server / books?filter [book_ids] = 1,2,3,4然后在服务器端你可以找到这个数组1,2,3,4内的所有记录,如SELECT * ID为IN(1,2,3,4)的书籍 - 不确定你在服务器端使用的是什么。
reloed:true是可选的 - 如果你想在每次访问路线时强制重新加载数据。这将在查询多个记录部分中进行解释
https://guides.emberjs.com/v2.5.0/models/finding-records/#toc_querying-for-multiple-records