উত্তর:
আপনি সরাসরি তথ্য মাধ্যমে প্রশ্ন করতে পারেন 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
}
}
একবারে খুব বেশি লোড এড়াতে, যা মেমরির সমস্যার কারণ হতে পারে।