किसी निकाय संदर्भ फ़ील्ड से संदर्भित निकाय आईडी की एक सरणी कैसे प्राप्त करें


10

मेरे पास कार्डिनैलिटी वाला entity_referenceक्षेत्र है BaseFieldDefinition::CARDINALITY_UNLIMITED। मुझे संदर्भित इकाई आईडी की सूची चाहिए। मुझे पता है कि मैं सभी संदर्भित संस्थाओं को कॉल करके प्राप्त कर सकता हूं $x->referencedEntities(), लेकिन मैं चाहता हूं कि केवल आईडी बाद में लोड हो रही हैं। वर्तमान में मैं यह कर रहा हूं:

  $a = [];
  foreach ($entity->autoren as $v) {
    $a[] = $v->target_id;
  }
  $this->setCurrentAnwaltReferenzen($a);

किसी को भी एक बेहतर समाधान पता है जैसे कि यह डी 7 (-> कच्चा ()) में था?

धन्यवाद

जवाबों:


24

विकल्प के रूप में आप इसे लूप के बजाय ऐरे फ़ंक्शन के साथ एक लाइन में कर सकते हैं:

$ids = array_column($entity->autoren->getValue(), 'target_id');

संपादित करें: getValue()केवल फ़ील्ड का सरणी प्राप्त करने के लिए उपयोग करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.