Typo3 8.7: попытка получить crdate из таблицы базы данных возвращает ноль - PullRequest
0 голосов
/ 15 января 2019

В моем расширении typo3 8.7 я пытаюсь получить стандартный столбец typo3 crdate зарегистрированного пользователя из моей базы данных. Моя проблема сейчас в том, что мой запрос базы данных возвращает null или 0 в зависимости от того, какой тип данных я использую для crdate. Очевидно, что столбец существует и заполнен значениями типа int.

Как предлагается в других вопросах здесь и на других платформах I

1. добавили crdate к связанным TCA Configuration и
2. к Model, чтобы сделать его доступным.

TCA

'columns' => array(.....
  'crdate' => array(
        'exclude' => 0,
        'label' => 'LLL:EXT:someExt/Resources/Private/Language/locallang_db.xlf:tx_someExt_domain_model_someModelName.crdate',
        'config' => array(
            'type' => 'passthrough',
            'size' => 30,
            'eval' => 'trim'
        ),
    )

Модель

/**
 * crdate
 *
 * @var integer
 */
protected $crdate = 0;

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

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

Контроллер

$currentUser = $this->relatedRepository->findByEmail($currentUserEmail);

//Now the $currentUser object has all attributes of the table, but as my 
//title 
//states the crdate value still is 0. ( If I use datatype date it returns 
//null)

1 Ответ

0 голосов
/ 15 января 2019

Я сейчас работаю над проектом, который делает то же самое для tstamp и работает нормально. Можете ли вы проверить, правильно ли загружен ваш TCA? Это можно сделать в бэкэнде в разделе «Система»> «Конфигурация» и выбрать «$ GLOBALS ['TCA']» в верхнем окне выбора.

Вне зависимости от этой проблемы, вам нужно только 'type' => 'passthrough' в вашей конфигурации TCA для crdate. size и eval необходимы только в том случае, если пользователь может ввести данные для поля.

...