উত্তর:
আপনি সরাসরি তথ্য মাধ্যমে প্রশ্ন করতে পারেন node_load_multiple()
$nodes = node_load_multiple(array(), array('type' => 'my_type'));
আপনার পছন্দ অনুসারে আপনি $conditionsঅ্যারের (দ্বিতীয় যুক্তি) হিসাবে আরও অনেক সম্পত্তির শর্ত যুক্ত করতে পারেন, সুতরাং স্থিতি, তৈরি ইত্যাদিও ন্যায্য খেলা।
$conditionsপ্রযুক্তিগতভাবে হ্রাস করা হয়েছে (আমি অনুকূলে কল্পনা করি EntityFieldQuery) তবে ড্রুপাল 7 থেকে যে কার্যকারিতাটি কখনও অপসারণের সম্ভাবনাগুলি মূলত কোনওটিই নয়। এটি খুব বেশি বিরতি হবে।
EntityFieldQueryসমস্ত উপায় :) আমি এটিকে অন্য যে কোনও কিছুর চেয়ে বেশি বংশের জন্য রেখেছি
ড্রুপাল কোর একটি ক্লাস সরবরাহ করে EntityFieldQuery()। এটি ব্যবহারের জন্য একটি দস্তাবেজ পৃষ্ঠাও রয়েছে, এর প্রচুর উদাহরণ রয়েছে। এর সহজতম আকারে:
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'page')
->propertyCondition('status', 1);
$result = $query->execute();
if (!empty($result['node'])) {
$nids = array_keys($result['node']);
$nodes = node_load_multiple($nids);
foreach ($nodes as $node) {
// do something awesome
}
}
এটি "পৃষ্ঠা" টাইপের সমস্ত প্রকাশিত নোড লোড করবে। আপনার পর্যায়ক্রমে এটিকে সামঞ্জস্য করতে হবে
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'page')
->propertyCondition('status', 1);
$result = $query->execute();
if (!empty($result['node'])) {
$nids = array_keys($result['node']);
foreach ($nids as $nid) {
$node = node_load($nid, NULL, TRUE);
// do something awesome
}
}
একবারে খুব বেশি লোড এড়াতে, যা মেমরির সমস্যার কারণ হতে পারে।