こんにちは、以下の例でわかるように、条件付きの order by 句を持つ MySQL ステートメントを作成しました。
MySQL の例:
SELECT
title,
description
FROM books
WHERE
title LIKE "%keyword%" OR description LIKE "%keyword%"
ORDER BY
CASE
WHEN title LIKE "%keyword%"
THEN 1
ELSE 2
END
私は現在、PDO スタイルの db_select() 関数を使用して Drupal でこのステートメントを再作成しようとしています。しかし、ORDER BY 句を書くときに行き詰まってしまいました。
Drupal の例:
$node_select = db_select('node', 'n');
$node_select->fields('n', array('title', 'description'));
$node_select->condition(
db_or()->condition('n.title', '%'.$keyword.'%', 'LIKE')
->condition('n.description', '%'.$keyword.'%', 'LIKE')
);
$node_select->order();
ORDER BY セクションをどのように記述するかについて、誰かが正しい方向に向けることができますか?