首页 > 解决方案 > pnp.js - 使用 camlquery 加入 2 个共享点列表

问题描述

我在使用 pnp.js 加入 2 个共享点列表时遇到问题。

我有 2 个列表,第一个名为“Phasen”的列表有 2 列,标题,哇。第二个列表名为“Projects”,有 2 个列 - Title、Phase(在 Phasen 中查找 Title)。我想使用“加入”来查询 2 个列表中的字段

我的代码看起来像这样 -

const camlQuery = {
  ViewXml: `<View><ViewFields><FieldRef Name='Title' /><FieldRef Name='Phase' /><FieldRef Name='EndDate' />
  <FieldRef Name='Wow' /></ViewFields>
  <ProjectedFields><Field Name='Wow' Type='Lookup' List='Phasen' ShowField='Wow'/>
  </ProjectedFields>
  <Joins><Join Type='Left' ListAlias='Phasen'><Eq><FieldRef Name='Phase' RefType='Id' /><FieldRef List='Phasen'Name='ID' />
  </Eq></Join></Joins><RowLimit Paged="TRUE">2147483647</RowLimit>
 </View>`
};
return this.web.lists.getByTitle('Projects').getItemsByCAMLQuery(camlQuery, 'Title');

我在 Angular 8 上使用它。我得到了这样的响应 -

{"odata.metadata":"http://*****/_api/$metadata#SP.ApiData.ListItems","value":[{"odata.type":"SP.Data.ProjectsListItem","odata.id":"15c0b226-6ad9-4c78-bab7-69a4dda2f162","odata.etag":"\"2\"","odata.editLink":"Web/Lists(guid'dfc8aadf-787d-42d7-ba45-4441910bc296')/Items(1)","FileSystemObjectType":0,"Id":1,"ServerRedirectedEmbedUri":null,"ServerRedirectedEmbedUrl":"","Title":"Project1","PhaseId":3,"EndDate":null,"ID":1,"Created":"2020-01-14T02:47:30","Modified":"2020-01-15T02:20:12"},{"odata.type":"SP.Data.ProjectsListItem","odata.id":"1092729c-aff8-48cc-8fd9-900b25b7457e","odata.etag":"\"3\"","odata.editLink":"Web/Lists(guid'dfc8aadf-787d-42d7-ba45-4441910bc296')/Items(2)","FileSystemObjectType":0,"Id":2,"ServerRedirectedEmbedUri":null,"ServerRedirectedEmbedUrl":"","Title":"Project2","PhaseId":1,"EndDate":null,"ID":2,"Created":"2020-01-14T02:47:36","Modified":"2020-01-14T02:47:53"},{"odata.type":"SP.Data.ProjectsListItem","odata.id":"5b4b7d9b-ded0-48c6-a618-c8c6a78bbb9a","odata.etag":"\"2\"","odata.editLink":"Web/Lists(guid'dfc8aadf-787d-42d7-ba45-4441910bc296')/Items(3)","FileSystemObjectType":0,"Id":3,"ServerRedirectedEmbedUri":null,"ServerRedirectedEmbedUrl":"","Title":"Project3","PhaseId":2,"EndDate":null,"ID":3,"Created":"2020-01-14T02:47:37","Modified":"2020-01-14T02:47:50"}]}

哇在响应对象中缺少 ProjectedField

我无法获得投影字段。有什么建议么?

标签: angularsharepointsharepoint-2010shared-librariescaml

解决方案


推荐阅读