entity_load或EntityFieldQuery在Drupal中提取实体ID

时间:2013-08-10 20:47:52

标签: drupal

我是否应该使用entity_load或EntityFieldQuery从自定义实体中获取实体ID?

我打算使用entity_load来提取特定类型的所有实体,并获取相关信息(但这似乎效率低下)。

1 个答案:

答案 0 :(得分:1)

EntityFieldQuery只返回一个实体ID数组。如果这就是你所需要的,那么EntityFieldQuery会更快。

如果您需要获取字段值,则应该执行entity_load。它很慢,但它是Drupal方式。

如果节点数量非常大,则可能会出现超时问题。要使用Drupals Batch API克服此问题,您可以使用Database API编写自定义查询,以在一个查询中提取所需的确切数据。这在技术上更快,但需要更多代码并且可能会破坏兼容性。