1. db_select 的正确例子
有可能,使用 drupal 7 db_select,这是我的示例工作代码(在这篇文章的帮助下完成)
我的示例在cities
包含 column的表中city
。查找带有双“o”的城市并按其位置排序:
$r = db_select('cities', 't')
->fields('t')
->condition('t.city', '%' . db_like('oo') . '%', 'LIKE');
$r->addExpression("LOCATE('oo', city) ", 'loc');
$r = $r->orderBy('loc', 'DESC')
->execute()
->fetchAllAssoc("id");
在您的示例中如此相似的是:
$r = db_select('taxonomy_term_data', 't')
->fields('t')
->condition('t.name', '%' . db_like('credit') . '%', 'LIKE');
$r->addExpression("LOCATE('credit', name) ", 'loc');
$r = $r->orderBy('loc', 'DESC'); //Or ASC
//Execute your query and gather result anyway you want.
2. 需要使用db_select吗?
正如有人在链接中的评论中所说,我发布了“有时和地点只使用 db_query”。
我认为是时候了 :) 不要仅仅为了使用 drupal 方式的逻辑而使代码过于复杂,这对于复杂的任务来说通常已经过时或过于简单。