Pregunta:
Drupal 7 tiene un sistema de consultas similar a ORM muy prometedor con EntityFieldQuery.
Actualmente, entiendo cómo hacer una selección de nodos, pero el resultado no contiene ninguna información específica, como los archivos que estoy buscando.
$query = new EntityFieldQuery();
$entities = $query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'event')
->propertyCondition('status', 1)
->fieldCondition('field_date', 'value', array('2011-03-01', '2011-03-31'), 'BETWEEN')
->fieldOrderBy('field_date', 'value', 'ASC')
->execute();
Entonces, necesitamos cargar datos completos de los nodos, si quisiéramos obtener solo los valores de un campo, por ejemplo, 'field_date' en el ejemplo actual.
$nodes = entity_load('node', array_keys($entities['node']));
Si hay una manera de obtener el valor de los campos, en su lugar, cargue los datos completos de todos los nodos, ya que provoca cierta sobrecarga de memoria.
$nodesFieldDates = ???
Respuesta:
¡Gran pregunta!
EntityFieldQuery
es realmente bueno, pero si realmente quiere ponerse serio, debe anular la clase en un módulo personalizado y agregar cualquier comportamiento que necesite.
No sé sus intenciones exactas, pero me he referido a este artículo sobre el tema en el pasado. Créditos a Neil Hastings por este artículo bien escrito.
Busque ejemplos de código un poco en el artículo para obtener buenos ejemplos de superposición.
Espero que te ayude, ¡feliz codificación!