# Attribut standardmäßig NULL anstatt 0

**URL:** https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613
**Category:** Programmierung
**Created:** [26. April 2018 um 07:05 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613 "2018-04-26T07:05:07Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![pgaaa](https://avatars.discourse-cdn.com/v4/letter/p/67e7ee/32.png) [@pgaaa](https://forum.shopware.com/u/pgaaa)
#### Post date: [26. April 2018 um 07:05 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/1 "2018-04-26T07:05:07Z")

</div>

Hallo,

ich habe per Plugin ein Attribut in s\_user\_attributes erstellt. Datentyp ist INT, per default soll der Wert 0 sein. Das funktioniert auch soweit wenn das Plugin installiert wird, für alle Kunden die sich danach registrieren ist die Spalte allerdings NULL anstatt 0. NULL sollte auch erlaubt sein, aber halt nicht als Standard.

```
public function install(InstallContext $context)
{
    // ...
    $attributeCrudService = $container->get('shopware_attribute.crud_service');

    $attributeCrudService->update(
        's_user_attributes', // table
        'my_attribute', // column name
        TypeMapping::TYPE_INTEGER, // type
        [], // data
        null, // new column name
        true, // update depending tables
        0 // default value
    );
    // ...
}

```

Das Datenbankschema sieht korrekt aus. Wenn ich einen Datensatz manuell per SQL anlege&nbsp;ohne das Atrribut anzugeben wird auch der korrekte Wert gesetzt.

```
DESC s_user_attributes;

+-----------------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| userID | int(11) | YES | UNI | NULL | |
| my_attribute | int(11) | YES | | 0 | |
+-----------------------+---------+------+-----+---------+----------------+

```

Was mache ich falsch?

---

<div class="post-metadata">

### Author: ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)
#### Post date: [26. April 2018 um 12:18 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/2 "2018-04-26T12:18:13Z")

</div>

Du machst nix falsch. Ich glaube Shopware nulled alle nicht gesetzten werde irgendwo.

---

<div class="post-metadata">

### Author: ![wabAB](https://avatars.discourse-cdn.com/v4/letter/w/7feea3/32.png) [@wabAB](https://forum.shopware.com/u/wabAB)
#### Post date: [26. April 2018 um 12:22 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/3 "2018-04-26T12:22:02Z")

</div>

> [@arnebecker schrieb:](https://forum.shopware.com/profile/26696/arnebecker "arnebecker")
> 
> Du machst nix falsch. Ich glaube Shopware nulled alle nicht gesetzten werde irgendwo.

Sehe ich auch so, mein spontaner vorschlag wäre: bei der registrierung über ein passendes Event das Attribut setzen.

---

<div class="post-metadata">

### Author: ![pgaaa](https://avatars.discourse-cdn.com/v4/letter/p/67e7ee/32.png) [@pgaaa](https://forum.shopware.com/u/pgaaa)
#### Post date: [27. April 2018 um 07:02 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/4 "2018-04-27T07:02:12Z")

</div>

Okay, vielen Dank für die Info. Ich bin davon ausgegangen weil es a) in der s\_attribute\_configuration eine Spalte „default\_value“ gibt deren Sinn ich dann jetzt nicht mehr erkenne und b) irgendwie logisch ist.

Ich setze den Initialwert jetzt selber wie von @wabAB‍ vorgeschlagen. Klappt gut.

---

<div class="post-metadata">

### Author: ![wabAB](https://avatars.discourse-cdn.com/v4/letter/w/7feea3/32.png) [@wabAB](https://forum.shopware.com/u/wabAB)
#### Post date: [27. April 2018 um 07:09 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/5 "2018-04-27T07:09:03Z")

</div>

Ein wenig seltsam, finde ich auch…

Aber schön, dass es nun klappt :-)&nbsp;

---

<div class="post-metadata">

### Author: ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)
#### Post date: [27. April 2018 um 08:39 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/6 "2018-04-27T08:39:12Z")

</div>

> [@pgaaa schrieb:](https://forum.shopware.com/profile/28801/pgaaa "pgaaa")
> 
> Okay, vielen Dank für die Info. Ich bin davon ausgegangen weil es a) in der s\_attribute\_configuration eine Spalte „default\_value“ gibt deren Sinn ich dann jetzt nicht mehr erkenne und b) irgendwie logisch ist.

Leider macht nicht immer alles Sinn. Shopware ist ein gewachsenes Produkt. Sowas passert. Wenn du Stelle im Code gefunden hast, mach doch gerne einen Pull Request. Andere Nutzer würden sich dann auch sehr freuen. Ich glaube wenn du den Kunden im Backend bearbeitest oder anlegst, dann würde es auch wie gewünscht greifen.

---

<div class="post-metadata">

### Author: ![WillemMeert](https://avatars.discourse-cdn.com/v4/letter/w/5daacb/32.png) [@WillemMeert](https://forum.shopware.com/u/WillemMeert)
#### Post date: [29. April 2018 um 19:38 UTC](https://forum.shopware.com/t/attribut-standardmassig-null-anstatt-0/52613/7 "2018-04-29T19:38:15Z")

</div>

Vielleicht mal gucken in der Datei:&nbsp; /var/cache/production\_xxxx/doctrine/attributes/User.php

Da gibt’s eine public function \_\_construct() die alle Attribute auf ihre Default Wert einstellt. Wahrscheinlich fehlt da dein Attribut?

Sollte was enthalten wie&nbsp; &nbsp;$this-\>meinAttribut = 0;

WIrd normalerweise neu angelegt beim Cache leeren.
