Существует возможность выполнить следующий запрос для сортировки по значению:
[CODE]SEL ECT NAME FROM book ORDER BY FIELD (id, 5, 10, 15)[/CODE]
Bitrix ORM предлагает для этого runtime-поля:
[CODE]$queryObj = BookTable::query()
->addSelect('NAME')
->addOrder('SORT')
->registerRuntimeField(
new \Bitrix\Main\Entity\ExpressionField(
'SORT',
'FIELD(%s, 5, 10, 15)',
'ID'
)
)
->exec()
;[/CODE]
Это работает.
Но необходимо выполнить такой запрос:
[CODE]SELECT NAME FR OM book ORDER BY FIELD (id, 5, id)[/CODE]
Как это сделать? Пытаюсь таким образом, но это не работает:
[CODE]'FIELD(%s, 5, %s)',[/CODE]
Выводит: [I]Mysql query error: (1064) You have an error in your SQL syntax;[/I]
[CODE]SEL ECT NAME FROM book ORDER BY FIELD (id, 5, 10, 15)[/CODE]
Bitrix ORM предлагает для этого runtime-поля:
[CODE]$queryObj = BookTable::query()
->addSelect('NAME')
->addOrder('SORT')
->registerRuntimeField(
new \Bitrix\Main\Entity\ExpressionField(
'SORT',
'FIELD(%s, 5, 10, 15)',
'ID'
)
)
->exec()
;[/CODE]
Это работает.
Но необходимо выполнить такой запрос:
[CODE]SELECT NAME FR OM book ORDER BY FIELD (id, 5, id)[/CODE]
Как это сделать? Пытаюсь таким образом, но это не работает:
[CODE]'FIELD(%s, 5, %s)',[/CODE]
Выводит: [I]Mysql query error: (1064) You have an error in your SQL syntax;[/I]