我是否应该使用entity_load或EntityFieldQuery从自定义实体中获取实体ID?
我打算使用entity_load来提取特定类型的所有实体,并获取相关信息(但这似乎效率低下)。
答案 0 :(得分:1)
EntityFieldQuery只返回一个实体ID数组。如果这就是你所需要的,那么EntityFieldQuery会更快。
如果您需要获取字段值,则应该执行entity_load。它很慢,但它是Drupal方式。
如果节点数量非常大,则可能会出现超时问题。要使用Drupals Batch API克服此问题,您可以使用Database API编写自定义查询,以在一个查询中提取所需的确切数据。这在技术上更快,但需要更多代码并且可能会破坏兼容性。