# shopware\_attribute.crud\_service

**URL:** https://forum.shopware.com/t/shopware-attribute-crud-service/43671
**Category:** Programmierung
**Created:** [13. Februar 2017 um 16:10 UTC](https://forum.shopware.com/t/shopware-attribute-crud-service/43671 "2017-02-13T16:10:34Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)
#### Post date: [13. Februar 2017 um 16:10 UTC](https://forum.shopware.com/t/shopware-attribute-crud-service/43671/1 "2017-02-13T16:10:34Z")

</div>

Bisher habe ich attribute im Plugin folgendermaaßen erweitert:

```
$this->get('models')->addAttribute(
            's_articles_attributes',
            'md',
            'MYFIELD',
            'TINYINT(1)'
        );

```

&nbsp;

Damit ich aber dieses im Backend sichtbar machen will, muss ich auf den&nbsp;shopware\_attribute.crud\_service zurückgreifen:

&nbsp;

```
$service = Shopware()->Container()->get('shopware_attribute.crud_service');

 $service->update(
            's_articles_attributes',
            'MYFIELD',
            'TINYINT(1)',
            [
                'label' => 'Labeltext',
                'helpText' => 'Helptext',
                'translatable' => false,
                'displayInBackend' => true,
                'position' => 0,
             ]
        );

```

&nbsp;

Nun ist es hier egal, ob ich hier IN(1), TINYINT(1) etc als&nbsp;$unifiedType eingebe. Nach dem Setzen wird der SQL-Datentyp immer auf varchar(500) gesetzt, Finde ich nicht so berauschend.

Ich brauche hier für eine Checkbox nur 0 und 1

Mit&nbsp;addAttribute funktioniert es prima

&nbsp;

---

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [13. Februar 2017 um 16:38 UTC](https://forum.shopware.com/t/shopware-attribute-crud-service/43671/2 "2017-02-13T16:38:14Z")

</div>

Hallo,

so wie du es (ab Shopware 5.2) machst ist es aber auch nicht Sinn der Sache bzw. Shopware- konform, siehe:&nbsp;[Attribute system](https://developers.shopware.com/developers-guide/attribute-system/) . Am besten liest du dir dazu mal die Dokumentation von Shopware durch. Shopware hat eigene Datentypen für fast alle Bereiche “entwickelt” - die soll man auch nutzen. In deinem Fall: boolean.

Beste Grüße&nbsp;

Sebastian

---

<div class="post-metadata">

### Author: ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)
#### Post date: [13. Februar 2017 um 16:41 UTC](https://forum.shopware.com/t/shopware-attribute-crud-service/43671/3 "2017-02-13T16:41:21Z")

</div>

Hatte ich auch versucht gehabt. Resultat war das selbe. SQL type ist danach immer varchar(500).

---

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [13. Februar 2017 um 16:44 UTC](https://forum.shopware.com/t/shopware-attribute-crud-service/43671/4 "2017-02-13T16:44:10Z")

</div>

> [@megadruck schrieb:](https://forum.shopware.com/profile/23722/megadruck "megadruck")
> 
> Habe ich auch versucht

Hallo,

alle „neuen“ Datentypen funktionieren ab Shopware 5.2 auf jeden Fall problemlos&nbsp; ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink"). Varchar(500) wird sicher der „Fallback“ sein, wenn man einen nicht bekannten Datentypen versucht zu nutzen.

Beste Grüße

Sebastian&nbsp;

---

<div class="post-metadata">

### Author: ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)
#### Post date: [13. Februar 2017 um 17:01 UTC](https://forum.shopware.com/t/shopware-attribute-crud-service/43671/5 "2017-02-13T17:01:05Z")

</div>

Ich habe den Grund gefunden.

&nbsp;

Ich hatte beim testen das Feld noch mit removeAttribute entfernt anstelle **Delete** vom Crud Service. Somit konnte es nicht korrekt entfernt werden und hatte den Datentyp nicht überschrieben.

```
 &nbsp;
```
