我有一个内容类型,其中有一个标记字段是分类术语。 我想进行查询以获取包含用户插入的$ tag变量的所有节点。 我知道如何使用db_query,但如果我使用EntityFieldQuery似乎我不能应用连接。
我该怎么办?我必须使用db_query吗?
答案 0 :(得分:1)
EntityFieldQuery
不允许IS NOT NULL
或类似条件,因此无法查询包含特定字段值的所有节点。您只能查询具有特定字段的特定值的节点。
它们也是自包含的,因此除非您实现hook_query_alter()
并且在查询从EntityFieldQuery
转换为标准{{}}后实际添加连接,否则无法添加额外的连接{1}}。那个或子类SelectQuery
并自己添加新逻辑。
那说你需要自己形成查询。如果您只是查询节点,我建议使用EntityFieldQuery
表而不是字段表,因为这样可以产生更清晰的查询,并使生活更轻松。