Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我应该使用 entity_load 还是 EntityFieldQuery 从自定义实体获取实体 ID?
我打算使用 entity_load 来提取所有有问题的特定类型的实体,并获取它们的相关信息(但这似乎效率低下)。
EntityFieldQuery 将只返回一个实体 ID 数组。如果这就是您所需要的,那么 EntityFieldQuery 会快得多。
如果您需要获取字段值,您应该执行 entity_load。它很慢,但它是 Drupal 的方式。
如果节点数量非常多,您可能会遇到超时问题。要克服这个问题,请使用 Drupals Batch API,或者您可以使用 Database API 编写自定义查询,以在一个查询中提取您需要的确切数据。这在技术上更快,但需要更多代码并且会破坏兼容性。