# Fehler beim Laden von Artikeln über entityManager-\>find()

**URL:** <https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882>\
**Category:** Programmierung\
**Created:** [4. Juli 2018 um 14:39 UTC](https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882 "2018-07-04T14:39:17Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [4. Juli 2018 um 14:39 UTC](https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882/1 "2018-07-04T14:39:17Z")

</div>

Ich versuche, alle Artikel zu einer Liste von Artikel-IDs zu laden:

```
$articleIds = [7782, 893, 238923, 3923];

$this->entityManager->getRepository(Article::class)->find($articleIds);

```

allerdings erhalte ich einen Fehler

```
Fatal error: Uncaught Doctrine\ORM\ORMException: The identifier id is missing for a query of Shopware\Models\Article\Article

```

was mach ich denn falsch?&nbsp;

Leider findet man zu solchen sachen ja keinerlei Dokumentation…

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [4. Juli 2018 um 14:45 UTC](https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882/2 "2018-07-04T14:45:02Z")

</div>

array(“id”=\>7782, “id”=\> … schon probiert?

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [4. Juli 2018 um 15:04 UTC](https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882/3 "2018-07-04T15:04:31Z")

</div>

@brettvormkopp‍

nein, hab ich nicht probiert.

Im Handbuch steht aber auch das Beispiel mit

_**$this-\>entityManager-\>getRepository(Article::class)-\>find(78);**_

also auch ohne „id“ … deshalb bin ich davon ausgegangen, das man es so macht…

&nbsp;

ps: wie soll **„id“=\>7782, „id“=\>333** &nbsp;denn funktionieren? Ich kann einen Key nicht mehrfach verwenden im Array.

&nbsp;

**EDIT** : so funktioniert es:

```
 $this-\>entityManager-\>getRepository(Article::class)-\>findBy( ["id" =\> [348934, 48934, 48934]] );

```

&nbsp;

Aber das ist die findBy-Methode und nicht die find …

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [4. Juli 2018 um 17:37 UTC](https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882/4 "2018-07-04T17:37:05Z")

</div>

ausm Kopf würde mir noch findAll() einfallen.

Edit: Für das Array ist ggf sowas möglich, musste gucken:

```
array(
    array("id"=>7782),
    array("id"=>893),
    array("id"=>238923),
    array("id"=>3923)
)

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [5. Juli 2018 um 15:15 UTC](https://forum.shopware.com/t/fehler-beim-laden-von-artikeln-uber-entitymanager-find/53882/5 "2018-07-05T15:15:34Z")

</div>

Wenns auch mit ListProducts reicht, über den Searchbundle. Macht ein eventuelles filtern leichter oder spätere eigene Condition einfachrer

```
$search = $this->get('shopware_search.product_search');

// nach product IDs
$criteria = new \Shopware\Bundle\SearchBundle\Criteria();
$criteria->addCondition(new \Shopware\Bundle\SearchBundle\Condition\ProductIdCondition([..., ...]));
$products = $search($criteria, $context)->getProducts();

// nach ordernumbers
$criteria = new \Shopware\Bundle\SearchBundle\Criteria();
$criteria->addCondition(new \Shopware\Bundle\SearchBundle\Condition\OrdernumberCondition([..., ...]));
$products = $search($criteria, $context)->getProducts();

```

&nbsp;
