如何使用EntityFieldQuery应用分类条件?

时间:2012-08-28 08:52:20

标签: drupal-7 drupal-taxonomy

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

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

1 个答案:

答案 0 :(得分:1)

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

它们也是自包含的,因此除非您实现hook_query_alter()并且在查询从EntityFieldQuery转换为标准{{}}后实际添加连接,否则无法添加额外的连接{1}}。那个或子类SelectQuery并自己添加新逻辑。

那说你需要自己形成查询。如果您只是查询节点,我建议使用EntityFieldQuery表而不是字段表,因为这样可以产生更清晰的查询,并使生活更轻松。