0

我有一个内容类型,其中有一个标签字段是分类术语。我想进行查询以获取包含$tag用户插入的变量的所有节点。我知道如何使用db_query,但如果我使用EntityFieldQuery似乎我无法申请加入。

我该怎么做?我必须使用db_query吗?

4

1 回答 1

1

AnEntityFieldQuery不允许IS NOT NULL或类似条件,因此无法查询包含特定字段值的所有节点。您只能查询对特定字段具有特定值的节点。

它们也是自包含的,因此除非hook_query_alter()在查询从 an 转换EntityFieldQuery为 standard后实现并物理添加连接,否则无法添加额外的连接SelectQuery。那,或子类EntityFieldQuery并自己添加新逻辑。

也就是说,您需要自己形成查询。但是,如果您只是查询节点,我建议您使用taxonomy_index表而不是字段表,因为这将产生更清晰的查询并使生活更轻松。

于 2012-08-28T13:24:21.080 回答