Задать вопрос
@MikUrrey

Drupal 8: как выполнить ORDER BY FIELD в конструкторе запроса?

Есть запрос в таксономию, нужно отсортировать результаты так, чтобы определенные оказались внизу.
В MySQL это было бы так: ORDER BY FIELD(name, "TEST") DESC.
Как добавить такое в нижеследующий код?
use Drupal\Core\Database\Database;
///////
$connection = Database::getConnection();
$query = $connection->select('taxonomy_term_field_data', 'data');
$query->fields('data', ['tid', 'name'])
      ->condition('vid', 'themes')
      ->orderBy('name')
      ->execute();
  • Вопрос задан
  • 61 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 1
andead
@andead
друпал девелопер, фрилансер
$alias = $query->addExpression("FIELD(name, 'TEST')", 'order_field');
$query->orderBy($alias, 'DESC');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы