CF ORM - EntityLoad filterCriteria с использованием предложения IN - PullRequest
0 голосов
/ 15 марта 2012

Как бы я сделал следующее с CF ORM?

SELECT * FROM products WHERE id in ('3,7,12,5');

Я пытался

EntityLoad("products", { id in ('#productIDlist#') });

Но без радости .. получаю ошибку: Invalid construct: Either argument or name is missing. When using named parameters to a function, each parameter must have a name.

.. Я уверен, что это прямо, но я не могу понять, как это сделать, и не могу найти образцы или документы.

Большое спасибо заранее.

Ответы [ 2 ]

5 голосов
/ 15 марта 2012

Вам нужно использовать HQL. Это будет выглядеть так:

ormExecuteQuery( "FROM products WHERE id IN ('#productIDlist#') " );

Вы также можете использовать параметризацию запроса (аналогично cfqueryparam).

1 голос
/ 16 марта 2012

Вам не нужно , чтобы использовать HQL , вы также можете использовать критерий .Честно говоря, я не вижу большого преимущества в использовании HQL по сравнению с простым SQL, но критерии - это мощный, гибкий API, а не еще один синтаксический анализ.

...