扩展fe#U用户模型,can';通过cronjob运行时无法访问crdate

扩展fe#U用户模型,can';通过cronjob运行时无法访问crdate,cron,typo3,typo3-9.x,Cron,Typo3,Typo3 9.x,我在访问croniob任务中的fe_用户的crdate时遇到问题。我有一个扩展的前端用户模型,其中添加了以下调整: 另外,我还通过ts添加了一个映射 config.tx_extbase { persistence { classes { TYPO3\CMS\Extbase\Domain\Model\FrontendUser { subclasses { Tx_MyExt_User = ACV\MyExt\Domain\Model\U

我在访问croniob任务中的
fe_用户的
crdate
时遇到问题。我有一个扩展的前端用户模型,其中添加了以下调整:

另外,我还通过ts添加了一个映射

config.tx_extbase {
  persistence {
    classes {

      TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
        subclasses {
          Tx_MyExt_User = ACV\MyExt\Domain\Model\User

        }
      }
      Paul\MyExt\Domain\Model\User {
        mapping {
          tableName = fe_users
          recordType = Tx_MyExt_User
          columns {
            crdate.mapOnProperty = crdate
          }
        }
      }

    }
  }
}

当我通过调度程序BE模块启动调度程序任务手册时,一切正常。但是当真正的cronjob开始时,我得到了错误

null上对成员函数getTimestamp()的未捕获TYPO3异常调用

在调度程序任务中,我通过getter获取crDate并尝试获取时间戳

$users=$frontendRepository->findByOptIn(false);
foreach($users作为$user){
如果($user->getCrdate()->getTimestamp()remove($user);
}
}
用户的模式是正确的。我可以访问添加到模型中的其他自定义特性

它是typo3v9.5.26

奇怪的是,它在我的开发环境中本地运行

有人知道问题的原因吗?

添加一个文件
/ext\u typoscript\u setup.typoscript
并在其中添加您的打字脚本:

config.tx_extbase {
  persistence {
    classes {

      TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
        subclasses {
          Tx_MyExt_User = ACV\MyExt\Domain\Model\User

        }
      }
      Paul\MyExt\Domain\Model\User {
        mapping {
          tableName = fe_users
          recordType = Tx_MyExt_User
          columns {
            crdate.mapOnProperty = crdate
          }
        }
      }

    }
  }
}
或者,您可以在扩展名配置/TypoScript文件夹中的TypoScript文件中添加include


如果您在CLI上下文中,则可能是映射/extbase配置的键入脚本没有完全加载,这与您的描述相匹配,即在be上下文中它可以工作,但在Cronjob/CLI上下文中不工作。

“当真正的Cronjob启动时…”您的确切意思是什么?cron只是运行调度器的任务,所以一般来说它应该可以工作。你的任务是否有效?如何从cron运行调度程序?请添加一些细节,因为目前还不太确定。基本问题:你清除了所有可能的缓存吗在操作映射时,有时需要多次操作。;)你的模特长什么样?扩展、属性?“kickin”的意思是,调度程序由服务器cronjob运行程序调用。它运行在mittwald服务器上,该服务器为typo3 cronjobs重新定义了预设,从未出现任何问题。我不认为这会是个问题,就像你说的“应该行得通”,我不会在这里问。其他信息,这是一个非作曲家T3安装@StefanBürk它从前端用户扩展而来,没有任何花哨之处。我的意思是,当我在t3后端手动运行它时,它就可以工作了,所以代码应该可以了。我将在接下来的几天对我们的一个MW实例进行测试。在计划程序中具有覆盖的FE用户。(我们通常不在调度程序中执行任何操作。我们直接运行命令)。是否可以提供扩展用户类?至少你的属性定义是用getter/setter和docblocks来定义crdate?这和我在问题中链接的SO链接完全一样。我在ext\u typoscript\u setup.typoscript中有这个配置。我试着把它包括在内。。。