# Variante per PHP-Script erzeugen? configurator\_option\_relations?

**URL:** <https://forum.shopware.com/t/variante-per-php-script-erzeugen-configurator-option-relations/93340>\
**Category:** Programmierung\
**Created:** [10. März 2022 um 09:31 UTC](https://forum.shopware.com/t/variante-per-php-script-erzeugen-configurator-option-relations/93340 "2022-03-10T09:31:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hermetic](https://avatars.discourse-cdn.com/v4/letter/h/76d3ee/32.png) [@hermetic](https://forum.shopware.com/u/hermetic)\
**Post date:** [10. März 2022 um 09:31 UTC](https://forum.shopware.com/t/variante-per-php-script-erzeugen-configurator-option-relations/93340/1 "2022-03-10T09:31:29Z")

</div>

Hi,  
versuche gerade eine Artikel Variante zu erzeugen. Variante wird in Frontend auch angezeigt, jedoch kann ich die Untervarianten nicht selektieren (bzw. es wird immer wieder auf die Hauptvariante umgeswitched).  
Ich vermute es liegt daran, dass noch nicht alle dafür nötigen Felder richtig gesetzt sind.

Wenn ich die Variante mit denen vergleiche, die ich im Backend händisch erzeugt habe, sind bei diesen im Fenster Artikel-\> ‚Artikeldetails‘, ‚Varianten‘, ‚verfügbare Varianten‘ alle Untervarianten aufgelistet, bei der vom Script erzeugten ist diese List leer, ich weis aber nicht, aus welcher DB-Tabelle sich diese Liste füllt und nicht, wie ich dies per Script fülle.

In der Datenbank habe ich bisher nur Unterschiede in s\_article\_configurator\_option\_relations gefunden, in denen meine Varianten nicht drin sind.  
Falls es daran liegt, wie packe ich meine Variante dort per Script rein?  
ConfiguratorSet, Group und Option hab ich gesetzt, diese verknüpft meine Varianten aber ja nicht.

Oder gibt es ev. eine Funktion die ich mit Script aufrufen kann, die alle Varianten, ähnlich dem Backend erzeugt?

---

<div class="post-metadata">

**Author:** ![hermetic](https://avatars.discourse-cdn.com/v4/letter/h/76d3ee/32.png) [@hermetic](https://forum.shopware.com/u/hermetic)\
**Post date:** [10. März 2022 um 11:12 UTC](https://forum.shopware.com/t/variante-per-php-script-erzeugen-configurator-option-relations/93340/2 "2022-03-10T11:12:00Z")

</div>

Ok, hab nun mal in Adminer (DB) testweise in s\_article\_configurator\_option\_relations zwei neue Datensätze gemacht, mit in  
article\_id die id aus s\_articles\_details und  
option\_id die id aus s\_article\_configurator\_options und alles funktioniert, die Dateneinträge im Backend tauchen auch richtig auf. Es lag also daran.

Nun bleibt nur noch die Frage, wie bekomme ich diese Werte dort rein, möglichst ohne direkt einen SQL-Befehl loszueisen. ( $configuratorSet-\>optionRelations = array? 😉 )  
Oder hab ich bei dem Setzen der Options was übersehen, muss dort irgendwo ein Verweis auf meine Varianten rein?

Edit, falls es nur mit SQL gehen sollte, kannst du natürlich auch posten, wie du das mit SQL zum laufen bekommst.

---

<div class="post-metadata">

**Author:** ![hermetic](https://avatars.discourse-cdn.com/v4/letter/h/76d3ee/32.png) [@hermetic](https://forum.shopware.com/u/hermetic)\
**Post date:** [10. März 2022 um 17:56 UTC](https://forum.shopware.com/t/variante-per-php-script-erzeugen-configurator-option-relations/93340/3 "2022-03-10T17:56:32Z")

</div>

Hier ist meine SQL Lösung für die Community. Habe bisher keine SW5 Funktion dafür gefunden:

```auto
         $art_id= $detail->getId();
         $art_id2= $detail_variant1->getId();
         $con_id= $configuratorOption->getId();
         $con_id2= $configuratorOption2->getId();

	// not nice, but seems there is no function for so let's dive in SQL... 	
         $sql = "INSERT INTO s_article_configurator_option_relations (id, article_id, option_id)
                VALUES(DEFAULT, ?, ?),
                	(DEFAULT, ?,?)";
                	
         echo("SQL configurator_option_relations: " . $art_id . ", " . $con_id . " ". $art_id2 . " ".$con_id2. "<br>");

         Shopware()->Db()->query($sql, array($art_id, $con_id, $art_id2, $con_id2));
 

```
