आप डेटाबेस को क्वेरी करने और इसके समान सूची के रूप में परिणाम लाने के लिए EntityFieldQuery वर्ग का उपयोग कर सकते हैं node_load_multiple()
।
यह एक कक्षा बनाकर, शर्तों को लागू करके और क्वेरी को निष्पादित करके प्राप्त किया जा सकता है, उदाहरण के लिए:
<?php
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'TYPE') // E.g. node, entityform, taxonomy_term
->entityCondition('bundle', 'BUNDLE')
->fieldCondition('field_foo', 'value', 'STRING')
->range(0,10);
$result = $query->execute();
?>
यह सरणी उत्पन्न करेगा जैसे:
array (
'TYPE' =>
array (
123 =>
stdClass::__set_state(array(
'nid' => '123', // Can be also tid when loading terms.
'key' => 'value',
)),
456 =>
stdClass::__set_state(array(
'nid' => '456',
'key' => 'value',
)),
),
)
परिणाम सरणी से आईडी लाने के लिए, आप उपयोग कर सकते हैं current(current($result))->tid
:।
यहाँ अधिक उन्नत उदाहरण है:
<?php
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'article')
->propertyCondition('status', NODE_PUBLISHED)
->fieldCondition('field_news_types', 'value', 'spotlight', '=')
->fieldCondition('field_photo', 'fid', 'NULL', '!=')
->fieldCondition('field_faculty_tag', 'tid', $value)
->fieldCondition('field_news_publishdate', 'value', $year . '%', 'like')
->fieldOrderBy('field_photo', 'fid', 'DESC')
->range(0, 10)
->addMetaData('account', user_load(1)); // Run the query as user 1.
$result = $query->execute();
if (isset($result['node'])) {
$news_items_nids = array_keys($result['node']);
$news_items = entity_load('node', $news_items_nids);
}
?>
देखें: अधिक स्पष्टीकरण के लिए Drupal.org पर EntityFieldQuery का उपयोग कैसे करें ।