Entity выделяется в отдельную незаменимую часть ядра Drupal, что заменит ноды и типы контента в нынешнем понимании. Суть таже, название и работа, другая. Стала задача проверять уникальность полей в определённом типе контента... Старым методом не получилось(Запросом), очень непонятая структура БД(на первый взгляд). Нашёл кусок кода который всё разъяснил.
<?php
//Заполненые ноды.
$recipe_list = array();
/*Объявляем класс,
*/ который поможет выполнять запросы к Entity.
$query = new EntityFieldQuery;
//Строим запрос.
$result = $query
//Определяем тип Entity(сдесь node)
->entityCondition('entity_type', 'node')
//Определяем связку, тип контента.
->entityCondition('bundle', 'recipe')
//Устанавливаем фильтр.
->propertyCondition('status', 1)
->propertyCondition('uid', $account->uid)
//Определяем сортировку.
->propertyOrderBy('created', 'DESC')
//Устанавливаем Pager.
->pager(30)
//Выполняем запрос.
->execute();
//Загружаем данные контента.
if (!empty($result['node'])) {
$nodes = entity_load('node', array_keys($result['node']));
foreach ($nodes as $node) $recipe_list[] = $node;
}
?>
Сортировка по полю.
ОтветитьУдалить$query->fieldCondition('field_year', 'value', 2000, '=');