3 回答
TA贡献1852条经验 获得超7个赞
虽然我不记得 WebAPI 有一个 Distinct 运算符,但FetchXML 有.
并且,您可以通过 API 运行 FetchXML
例如,没有Distinct:
https://myOrg.crm.dynamics.com/api/data/v9.0/contacts?fetchXml=
<fetch mapping='logical'>
<entity name='contact'>
<attribute name='fullname' />
<filter>
<condition attribute='fullname' operator='eq' value='Nick Saban'/>
</filter>
</entity>
</fetch>
返回:
{
"@odata.context":"https://myOrg.crm.dynamics.com/api/data/v9.0/$metadata#contacts(fullname,contactid)",
"value":[
{
"@odata.etag":"W/\"175969918\"",
"fullname":"NICK SABAN",
"contactid":"ca338867-8831-e511-8103-c4346bac6974"
},
{
"@odata.etag":"W/\"187905023\"",
"fullname":"NICK SABAN",
"contactid":"fff12a11-ef85-e511-810a-fc15b4281ce0"
}
]
}
与Distinct:
https://myOrg.crm.dynamics.com/api/data/v9.0/contacts?fetchXml=
<fetch mapping='logical' distinct='true'>
<entity name='contact'>
<attribute name='fullname' />
<filter>
<condition attribute='fullname' operator='eq' value='Nick Saban'/>
</filter>
</entity>
</fetch>
返回:
{
"@odata.context":"https://myOrg.crm.dynamics.com/api/data/v9.0/$metadata#contacts(fullname)",
"value":[
{
"fullname":"NICK SABAN"
}
]
}
TA贡献1815条经验 获得超10个赞
我不是来自 php 背景,但我会尝试。
Distinct只能在 FetchXML 查询中使用,fetchxml 可以与 web api 一起使用。
我可以找到以下示例 - AlexaCRM 工具包的在线参考。
$fetchXML = <<<FETCHXML
<fetch mapping="logical" distinct="true">
<entity name="new_membership">
<attribute name="member_number" />
</entity>
</fetch>
FETCHXML;
$fetchExpression = new \AlexaCRM\Xrm\Query\FetchExpression( $fetchXML );
$collection = $client->RetrieveMultiple( $fetchExpression );
TA贡献1784条经验 获得超9个赞
由于 Dynamics 支持 ODATA 4.0,您可以通过以下方式使用 $apply 进行查询:
$params = array(
"$apply" => "groupby((member_number))",
"$filter" => "statecode eq 1"
);
此查询将返回不同的 JSON,但在您的实体中包含不同的“member_numbers”集合。希望能帮助到你。
这个答案来自这个问题。请查看详细信息。
- 3 回答
- 0 关注
- 242 浏览
添加回答
举报