gpt4 book ai didi

MySQL 到 Drupal 7 db_select

转载 作者:行者123 更新时间:2023-11-29 06:36:42 25 4
gpt4 key购买 nike

我正在尝试使用 drupal 7 db_select 执行以下 mysql 查询。但我不明白这是怎么做到的。有谁可以帮我将以下 mysql 查询转换为 drupal 7 动态数据库查询吗?

我的主要目标实际上是按名称中给定的字符串位置对 mysql 结果进行排序。请记住,我不想获取所有结果并使用 php 对它们进行排序,而是想使用 mysql 来做到这一点。据我所知,“ORDER BY LOCATE”命令正是这样做的。

SELECT name FROM `taxonomy_term_data` WHERE LOCATE('credit', name) > 0 ORDER BY LOCATE('credit', name)

最佳答案

1。 db_select 的正确示例

使用 drupal 7 db_select 是可能的,这是我的示例工作代码(在 this post 的帮助下完成)

我的示例是包含city列的表cities。查找带有双“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-way 逻辑而使代码过于复杂,这对于复杂的任务来说通常已经过时或太简单了。

关于MySQL 到 Drupal 7 db_select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53524048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com