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, '=');