আমি একটি নির্দিষ্ট নোড লোড করতে চাই। আমি নোডের আইডি জানি না তবে আমি জানি যে এটির একটি নির্দিষ্ট হ্যাশ ক্ষেত্র রয়েছে যা অনন্য এবং আমি জানি যে হ্যাশ।
আমি হ্যাশ ক্ষেত্রের মাধ্যমে নোড লোড করতে চাই। আমি এটা কিভাবে করবো?
আমি একটি নির্দিষ্ট নোড লোড করতে চাই। আমি নোডের আইডি জানি না তবে আমি জানি যে এটির একটি নির্দিষ্ট হ্যাশ ক্ষেত্র রয়েছে যা অনন্য এবং আমি জানি যে হ্যাশ।
আমি হ্যাশ ক্ষেত্রের মাধ্যমে নোড লোড করতে চাই। আমি এটা কিভাবে করবো?
উত্তর:
আপনি এন্টিফিল্ডকিউরি ব্যবহার করে অর্জন করতে পারেন।
ডি 8 এর জন্য এনটিটিফিল্ডকোওয়ারিকে আবার লেখা হয়েছিল।
ড্রুপাল 8:
$query = \Drupal::entityQuery('entity_test');
$default_langcode_group = $query->andConditionGroup()
->condition('user_id', $properties[$default_langcode]['user_id'], '=', $default_langcode)
->condition('name', $properties[$default_langcode]['name'], '=', $default_langcode);
$langcode_group = $query->andConditionGroup()
->condition('name', $properties[$langcode]['name'], '=', $langcode)
->condition("$this->field_name.value", $field_value, '=', $langcode);
$result = $query
->condition('langcode', $default_langcode)
->condition($default_langcode_group)
->condition($langcode_group)
->sort('name', 'ASC', $default_langcode)
->execute();
আমি কীভাবে কোনও সত্তার ক্ষেত্রের মানগুলি আনব?
$query = \Drupal::entityQuery('node')
->condition('status', 1)
->condition('changed', REQUEST_TIME, '<')
->condition('title', 'cat', 'CONTAINS')
->condition('field_tags.entity.name', 'cats');
$nids = $query->execute();
ক্ষেত্রের মান দ্বারা নির্দিষ্ট নোড লোড করার দ্রুততম পদ্ধতিটি হল পদ্ধতিটি ব্যবহার করা loadByProperties()
।
আপনি এক বা একাধিক ক্ষেত্রের মান উল্লেখ করেছেন এবং প্রত্যাবর্তনটি হ'ল ক্ষেত্রের মানগুলির সাথে মিলে যাওয়া নোডগুলি সহ একটি অ্যারে:
$nodes = \Drupal::entityTypeManager()
->getStorage('node')
->loadByProperties(['title' => $title]);
সাধারণত আপনি নোড উপর লুপ। আপনার ক্ষেত্রে আপনি একটি নির্দিষ্ট নোড খুঁজছেন। একটি একক নোডও অ্যারেতে ফিরে আসে, সুতরাং প্রয়োগ করুন reset()
এবং যদি কিছু না পাওয়া যায় তবে এটি নোড বা NULL দেয়:
if ($node = reset($nodes)) {
// found $node that matches the title
}
$node = reset...
কারণ হ্যাশটি নিজেই অনন্য।
Node::
নোডগুলি বোঝাতে ব্যবহার করতে হবে, সঠিক?