Простая ситуация:
собрал дату в спец объект, где есть стринговое поле name, вот так:
спецОбъект.name = 'something'
затем все получившиеся спецОбъекты собрал в List спецОбъектов LISTofMyDataObject.
думал, можно вот так можно использовать в запросе:
'..... WHERE name IN :LISTofMyDataObject.name'
а нет, не получается.
пришлось все поля name из спецОбъектов выбрать в массив стрингов, и вот его вставлять в запрос...
может это как-то проще решается?
Выбирать поля в List<String> например и потом использовать этот лист в IN это нормальная практика. Да, не очень красиво, но работает
Как вариант можешь попробовать nested SOQL например так:
'..... WHERE name IN (SELECT Name FROM MyDataObject)
спасибо.
MyDataObject - это просто объекты, не sObject.
Но с другой стороны:
а можем ли мы Кверить в SOQL стиле Лист sObjectов, созданный прямо в коде (имеется ввиду не кверить что-то из БД)?
а можем ли мы Кверить в стиле ".find().where()" (забыл как этот стиль называется) Лист sObjectов , созданный прямо в коде??
И продолжаем мысль вспомнив LINQ:
а можем ли мы Кверить в SOQL стиле Лист простых Objectов, созданный прямо в коде???
а можем ли мы Кверить в стиле ".find().where()" Лист простых Objectов????
Про nested SOQL - уже опробовал nested запрос по связи__r, а вот nested запрос как условие для другого запроса - еще не пробовал...
Врядли. SOQL и SOSL запросы подразумевают работу с Базой данных,
а Лист объектов - это всего лишь List (тип коллекции) в котором нет фукнционала для поиска в содержимом на подобии .find или .where