-1

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

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

4

1 回答 1

1

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

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

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

于 2013-08-11T20:49:57.277 回答