gpt4 book ai didi

mysql - WordPress:mysql 查询返回特定类别和关键字的帖子?

转载 作者:行者123 更新时间:2023-11-29 15:08:51 26 4
gpt4 key购买 nike

Wordpress/自定义 MySQL 查询

我有一个查询来返回特定类别的所有帖子:

SELECT  ID, post_title, post_name, guid, post_date, post_content, guid FROM wp_posts as p
INNER JOIN wp_term_relationships AS tr ON
(p.ID = tr.object_id AND
tr.term_taxonomy_id IN (4) )
INNER JOIN wp_term_taxonomy AS tt ON
(tr.term_taxonomy_id = tt.term_taxonomy_id AND
taxonomy = 'category')
ORDER BY id DESC LIMIT 10

但我还需要此查询来返回与每个帖子关联的关键字。我开始创建“按帖子 ID 的关键字”查询,但意识到重复调用时成本非常高。

知道如何为每个返回的帖子请求关键字/术语吗?我猜用逗号分隔可以吗?

解决方案:

在 MySQL 中没有很好的方法来做到这一点——连接所有这些表可能会很麻烦。因此,解决方案分为三个步骤:

1)获取帖子:

SELECT DISTINCT ID, post_title, post_name, guid, post_date, post_content, guid , GROUP_CONCAT(k.term_taxonomy_id) as keywords FROM wp_posts as p
INNER JOIN wp_term_relationships AS tr ON
(p.ID = tr.object_id AND
tr.term_taxonomy_id IN (4) )
INNER JOIN wp_term_relationships as k ON
(p.ID = k.object_id)
INNER JOIN wp_term_taxonomy AS tt ON
(tr.term_taxonomy_id = tt.term_taxonomy_id AND
taxonomy = 'category')
GROUP BY p.ID
ORDER BY id DESC LIMIT 10

“group_concat”将以逗号分隔的 ID 形式返回“关键字”

2)从wp_terms中获取关键字

3) 根据需要使用 PHP 从该数组 (#2) 中查找关键字

最佳答案

您可以使用另一个查询选择所有关键字和帖子 ID,并将两个结果合并到更高级别(PHP - 我猜您使用它)。您将只调用数据库两次,但是您将不得不在 PHP 级别编写更多逻辑。

第二个结果如下所示:

post_id | keyword 
-----------------
2 | keyword1
2 | keyword2
3 | keyword3
4 | keyword2
4 | keyword10

关于mysql - WordPress:mysql 查询返回特定类别和关键字的帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1395702/

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