---
title: "Werte werden nicht gespeichert"
url: "https://www.typo3.net/d/109290-werte-werden-nicht-gespeichert"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage","TCA"]
created: "2012-02-08"
last_reply: "2012-02-08"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Werte werden nicht gespeichert

Extensions › Extbase · 2 Antworten · gestartet 2012-02-08

## Eröffnungsbeitrag

**mato** · 2012-02-08 · [Beitrag #1](https://www.typo3.net/d/109290-werte-werden-nicht-gespeichert/1)

Hallo zusammen

Ich versuche gerade eine Extension mit Extbase umzusetzen. Jetzt habe ich das Problem, dass es keine Werte übernimmt wenn ich verusche über ein Repository einen Datensatz zu speichern.

**ext_tables.php**

```php
$TCA['tx_tsext_domain_model_eventtext'] = array (
    'ctrl' => array (
        'title' => 'Event Text',
        'transOrigPointerField' => 'i18n_parent',
        'transOrigDiffSourceField' => 'i18n_diffsource',
        'languageField' => 'sys_language_uid',
        'enablecolumns' => array(),
        'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'Configuration/TCA/EventText.php'
    )
);
```

**Configuration/TCA/EventText.php**

```php
$TCA['tx_tsext_domain_model_eventtext'] = array(
    'ctrl' => $TCA['tx_tsext_domain_model_eventtext']['ctrl'],
    'columns' => array(
        'sys_language_uid' => array(
            'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
            'config' => array(
                'type' => 'select',
                'foreign_table' => 'sys_language',
                'foreign_table_where' => 'ORDER BY sys_language.title',
                'items' => array(
                    array(
                        'LLL:EXT:lang/locallang_general.xml:LGL.default_value',
                        0,
                    ),
                ),
            ),
        ),

        'i18n_parent' => array(
            'displayCond' => 'FIELD:sys_language_uid:>:0',
            'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
            'config' => array(
                'type' => 'select',
                'items' => array(
                    array(
                        '',
                        0,
                    ),
                ),
                'foreign_table' => 'tx_tsext_domain_model_eventtext',
                'foreign_table_where' => 'AND tx_tsext_domain_model_eventtext.sys_language_uid IN (-1,0)',
            ),
        ),

        'i18n_diffsource' => array(
            'config'=>array(
                'type'=>'passthrough',
            ),
        ),

        'event_name' => array(
            'label' => 'LLL:EXT:tsext/Resources/Language/locallang.xml:eventText.event_name',
            'config' => array(
                'type' => 'input',
                'size' => '30',
                'eval' => 'trim,required'
            )
        ),

        'description' => array(
            'label' => 'LLL:EXT:tsext/Resources/Language/locallang.xml:eventText.description',
            'config' => array(
                'type' => 'text',
                'eval' => 'trim'
            )
        ),

        'infos' => array(
            'label' => 'LLL:EXT:tsext/Resources/Language/locallang.xml:eventText.infos',
            'config' => array(
                'type' => 'text',
                'eval' => 'trim'
            )
        )
    )
);
```

**Classes/Controller/Domain/Model/EventText.php**

```php
/**
 * @scope prototype
 * @entity
 * @api
 */
class Tx_Tsext_Domain_Model_EventText extends Tx_Extbase_DomainObject_AbstractEntity {
    /**
     * @var string
     */
    private $description;

    /**
     * @var string
     */
    private $eventName;

    /**
     * @var string
     */
    private $i18nDiffsource;

    /**
     * @var int
     */
    private $i18nParent = 0;

    /**
     * @var string
     */
    private $infos;

    /**
     * @var int
     */
    private $sysLanguageUid;

    /**
     * @return string
     */
    public function getDescription() {
        return $this->description;
    }

    /**
     * @return string
     * @api
     */
    public function getEventName() {
        return $this->eventName;
    }

    /**
     * @return string
     */
    public function getI18nDiffsource() {
        return $this->i18nDiffsource;
    }

    /**
     * @return int
     */
    public function getI18nParent() {
        return $this->i18nParent;
    }

    /**
     * @return string
     */
    public function getInfos() {
        return $this->infos;
    }

    /**
     * @return int
     */
    public function getLanguage() {
        return $this->sysLanguageUid;
    }

    /**
     * @param string $description
     */
    public function setDescription($description) {
        $this->description = $description;
    }

    /**
     * @param string $name
     * @return void
     * @api
     */
    public function setEventName($name) {
        $this->eventName = $name;
    }

    /**
     * @param string $i18nDiffsource
     */
    public function setI18nDiffsource($i18nDiffsource) {
        $this->i18nDiffsource = $i18nDiffsource;
    }

    /**
     * @param int $i18nParent
     */
    public function setI18nParent($i18nParent) {
        $this->i18nParent = $i18nParent;
    }

    /**
     * @param string $infos
     */
    public function setInfos($infos) {
        $this->infos = $infos;
    }

    /**
     * @param int $lang
     */
    public function setLanguage($lang) {
        $this->sysLanguageUid = $lang;
    }
}
```

**Classes/Domain/Repository/EventTestRepository.php**

```php
/**
 * @api
 */
class Tx_Tsext_Domain_Repository_EventTextRepository extends Tx_Extbase_Persistence_Repository {

}
```

Wenn ich dann versuche im Controller einen Datensatz abzuspeichern

```php
$r = $this->objectManager->get('Tx_Tsext_Domain_Repository_EventTextRepository');
$t = $this->objectManager->create('Tx_Tsext_Domain_Model_EventText');
$t->setEventName('Test Event');
$t->setDescription('Hello world');
$t->setInfos('Some information');
$t->setLanguage(2);
$r->add($t);
```

dann werden nur NULL-Werte in die Datenbank geschrieben. Ich habe meinen Code mit anderen Extensions verglichen und kann den Fehler einfach nicht finden. Kann mir jemand sagen, was ich hier falsch mache?

## Antworten

### [#2](https://www.typo3.net/d/109290-werte-werden-nicht-gespeichert/2) · BFSven · 2012-02-08

Genau das gleiche Problem hatte ich auch, bei mir lags aber daran, dass ich gar kein TCA definiert hatte. :o

Ich kann auf den ersten Blick aber auch keinen Fehler entdecken.

Probiere doch einfach mal das Model mit dem Extension-Builder zu erstellen und vergleiche dann die generierten Dateien mit Deinen, eventuell ist es nur ein kleiner Schreibfehler

Gruß,
Sven

### [#3](https://www.typo3.net/d/109290-werte-werden-nicht-gespeichert/3) · mato · 2012-02-08

Danke für den Tip mit dem Extension-Builder. Es lag nicht an der TCA sondern am Model. Die Sichtbarkeit der Attribute muss auf protected sein da sonst die Basisklasse nicht auf diese zugreiffen kann.

---

Quelle: „Werte werden nicht gespeichert“, typo3.net, https://www.typo3.net/d/109290-werte-werden-nicht-gespeichert
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
