Drupal 7 có hệ thống truy vấn giống ORM rất hứa hẹn với EntityFieldQuery.
Hiện tại, tôi hiểu cách thực hiện lựa chọn các nút, nhưng kết quả không chứa bất kỳ thông tin cụ thể nào, như các tệp, tôi đang tìm kiếm.
$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();
Vì vậy, chúng ta cần tải toàn bộ dữ liệu của các nút, nếu chúng ta chỉ muốn nhận các giá trị của một trường, ví dụ 'field_date' trong ví dụ hiện tại.
$nodes = entity_load('node', array_keys($entities['node']));
Nếu có một cách để lấy giá trị của các trường, thay vào đó để tải dữ liệu đầy đủ của tất cả các nút, vì nó gây ra quá tải bộ nhớ.
$nodesFieldDates = ???