Как фильтровать данные с использованием OData через WebAPI (PHP / cURL)

Я получаю данные в JSON через WebAPI, отправляя запросы cURL на сервер — в основном работает. Проблема начинается, когда я пытаюсь отфильтровать поле (извините, с точки зрения непрофессионала) во 2-м слое данных JSON.

Вот некоторые примеры данных JSON:

{
«id»: «SOMEHASH»,
«имя»: «OPP-имя»,
«actualCloseDate»: «9999-12-31T00: 00: 00 + 01: 00»,
«компании»: [
{
«id»: «SOMEOTHERHASH»,
«name»: «Название компании»}
],

Я пытаюсь отфильтровать по полю «имя» в массиве «компании» (это я и имел ввиду со 2-го уровня), но пока не повезло.
Мой URL для запроса данных, включая фильтр OData, выглядит следующим образом:

https: //www.ourserver.tld/Opportunities/?$ filter = Company / any (d: d / name eq ‘Название компании’)

но это приводит только к пустому ответу, как будто данные не найдены (имя точно совпадает). Честно говоря, я не понимаю часть «d: d», просто взял это прямо из документации OData.

Я старался

https: //www.ourserver.tld//Opportunities/?$ filter = companies / any (название eq «Название компании»)

вместо этого, но это вызывает синтаксическую ошибку.
Итак, как мне сформировать правильный URL-адрес запроса?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]