正确的域模型变量 lowerUpperCase

Correct domain model variable lowerUpperCase

我在 TCA 中创建了一个具有属性 "external_url" 的领域模型。但是在域模型中我写了 "externalURL" 而不是 "externalUrl"。现在我想纠正这个。但是总是当我改变它时我得到一个异常“#1251315967:无法确定子对象类型。”

我已经清除了安装工具中的所有缓存(typo3 缓存和操作码缓存)并清除了数据库中的所有 cf_* 表。我还手动删除了 typo3temp/Cache/ 目录。但是错误并没有消失。

我必须做什么才能让这个重命名生效!?在我的开发环境中,它可以立即运行...

编辑:更多信息:

我在域模型中的注释:

/**
 * @var string
 */
protected $externalUrl = '';

我的 TCA:

  'external_url'           => array(
    'exclude' => 0,
    'label'   => 'LLL:EXT:my_ext/Resources/Private/Language/locallang_db.xlf:tx_myext_domain_model_model.external_url',
    'config'  => array(
      'type' => 'input',
      'max' => 1024,
      'size' => 50,
      'softref' => 'typolink',
      'eval' => 'trim',
      'wizards' => array(
        'link' => array(
          'icon' => 'link_popup.gif',
          'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
          'module' => array(
            'name' => 'wizard_element_browser',
            'urlParameters' => array(
              'mode' => 'wizard'
            )
          ),
          'title' => 'LLL:EXT:cms/locallang_ttc.xlf:header_link_formlabel',
          'type' => 'popup'
        ),
        '_PADDING' => 2
      )
    )
  ),

如果需要,sql 列定义:

external_url varchar(1024) DEFAULT '' NOT NULL,

您很可能在模型中的一个或多个 1) 属性 名称或 2) missing/incorrect @var 注释中有拼写错误或类似错误。当反射框架无法通过分析它具有的注释来确定特定 属性 的类型时,就会出现错误。

您有任何可能引用旧属性的数据吗? 数据库表是否有效?

你有 deactivated/activated 扩展名吗? 你清除 /typo3temp/autoload/ 了吗?

一些信息存储在缓存之外,可以使用内置按钮清除这些信息。

在加载顺序很重要的情况下,也可能涉及缺少的依赖项(并且最后加载最后激活的扩展)。一定要有干净的依赖关系!