Drupal 7 ma bardzo obiecujący system zapytań podobny do ORM z EntityFieldQuery.
Obecnie rozumiem, jak dokonać wyboru węzłów, ale wynik nie zawiera żadnych konkretnych informacji, takich jak pliki, których szukam.
$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();
Musimy więc załadować całe dane węzłów, jeśli chcielibyśmy uzyskać tylko wartości jednego pola, na przykład „data_pola” w bieżącym przykładzie.
$nodes = entity_load('node', array_keys($entities['node']));
Jeśli istnieje sposób na uzyskanie wartości pól, zamiast ładowania pełnych danych wszystkich węzłów, ponieważ powoduje to pewne przeciążenie pamięci.
$nodesFieldDates = ???