# Daten lesen von entity extension

**URL:** <https://forum.shopware.com/t/daten-lesen-von-entity-extension/94808>\
**Category:** Administration\
**Tags:** administration\
**Created:** [13. Juni 2022 um 09:41 UTC](https://forum.shopware.com/t/daten-lesen-von-entity-extension/94808 "2022-06-13T09:41:10Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![rammi22](https://avatars.discourse-cdn.com/v4/letter/r/258eb7/32.png) [@rammi22](https://forum.shopware.com/u/rammi22)\
**Post date:** [13. Juni 2022 um 13:58 UTC](https://forum.shopware.com/t/daten-lesen-von-entity-extension/94808/3 "2022-06-13T13:58:14Z")

</div>

Hi,  
@Max_Shop danke für deine Antwort und auch zum Hinweis des Wording.

Die richtige Methode heißt `getExtension(%myExtension%)` .

Aber ich habe weiterhin Probleme, ich habe einen Datensatz gespeichert:

 ![Bildschirmfoto vom 2022-06-13 15-27-32](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/c/9/c9909b3a891d7691930a9efde2d4374db2227496.png)  
Dieser wurde mit folgenden Code eingefügt:

```auto
...
$this->productRepository
     ->upsert([[
         'id' => $idMainProduct,
         'components' => [
               'components' => $idProductComponent
         ]
]], $context);
....

```

Auslesen tu ich den Datensatz mit o.g. Anweisung:

```auto
$product = $this->productRepository
            ->search(
                new Criteria([$idMainProduct]),
                $context
            )
            ->first();

```

Dann mit `$product->getExtension('components')` bekomme ich _ein Objekt meiner Klasse(?)_…  
leider verstehe [die Annotation](https://github.com/shopware/platform/blob/ba2f87d5413ffac3ee0489e3dcf999a359d7b3a3/src/Core/Framework/Struct/ExtendableTrait.php#L56) nicht:

> Returns a single extension struct element of this class

Deutsch

> Gibt ein einzelnes Erweiterungsstrukturelement _(\<— ???)_ dieser Klasse zurück

…meint? Hab ich nun ein Objekt meiner Klasse?

Wie auch immer, der dump zeigt die ein objekt der ExtensionEntity-Klasse:

```auto
...
object(ProductComposer\Extension\ProductComponentEntity)#2179 (12) {
  ["components":"ProductComposer\Extension\ProductComponentEntity":private]=>
  array(0) { *<========================= leer?*
  }
  ["_uniqueIdentifier":protected]=>
  string(32) "3d1e39d16c1341c8b7cb9c514ff4c8b0"
  ["versionId":protected]=>
  NULL
  ["translated":protected]=>
  array(0) {
  }
  ["createdAt":protected]=>
  object(DateTimeImmutable)#2198 (3) {
    ["date"]=>
    string(26) "2022-06-13 13:18:42.084000"
    ["timezone_type"]=>
    int(3)
    ["timezone"]=>
...

```

Die Zugehörige Klasse:

```auto
<?php declare(strict_types=1);

namespace ProductComposer\Extension;

use Shopware\Core\Framework\DataAbstractionLayer\Entity;
use Shopware\Core\Framework\DataAbstractionLayer\EntityIdTrait;

class ProductComponentEntity extends Entity
{
    use EntityIdTrait;

    private array $components = [];

    /**
     * @return array
     */
    public function getComponents(): array
    {
        return $this->components;
    }

    /**
     * @param string $idComponent
     */
    public function addComponent(string $idComponent): void
    {
        $this->components[] = $idComponent;
    }

}

```

**Und hier meinProblem** : die Eigenschaft `components` bleibt leer? Warum?

---

_[View the full topic](https://forum.shopware.com/t/daten-lesen-von-entity-extension/94808)._
