【问题标题】:TYPO3 Object of type xxx\\yyy\\Domain\\Model\\User with identity \"1\" not found."TYPO3 类型为 xxx\\yyy\\Domain\\Model\\User 的对象,身份为 \"1\" 未找到。"
【发布时间】:2018-08-10 17:16:52
【问题描述】:

我想将自定义 FrontendUser 添加到组控制器中的组(与前端组无关)。

Extbase 不知何故可以通过 uid 找到我的组,但找不到我通过 uid 指定的用户。

我在 GroupController 中的操作是:

/**
  * action addUser
  * @param \xxx\Yyy\Domain\Model\Group $group
  * @param \xxx\Yyy\Domain\Model\User $user
  *
  * @return void
  */
  public function addUserAction(\xxx\Yyy\Domain\Model\Group $group, \xxx\Yyy\Domain\Model\User $user)
  {
    $group.addUser($user);
    return "ok";

  }

我的错误异常是:

{"error":"TYPO3\\CMS\\Extbase\\Property\\Exception\\TargetNotFoundException #1297933823: Object of type xxx\\Yyy\\Domain\\Model\\User with identity \"1\" not found."
,"trace":["TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\PersistentObjectConverter->fetchObjectFromPersistence(2 Arguments)"
,"TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\PersistentObjectConverter->convertFrom(4 Arguments)"
,"TYPO3\\CMS\\Extbase\\Property\\PropertyMapper->doMapping(4 Arguments)"
,"TYPO3\\CMS\\Extbase\\Property\\PropertyMapper->convert(3 Arguments)"
,"TYPO3\\CMS\\Extbase\\Mvc\\Controller\\Argument->setValue(1 Arguments)"
,"TYPO3\\CMS\\Extbase\\Mvc\\Controller\\AbstractController->mapRequestArgumentsToControllerArguments()"
,"TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->processRequest(2 Arguments)"
,"TYPO3\\CMS\\Extbase\\Mvc\\Dispatcher->dispatch(2 Arguments)"
,"TYPO3\\CMS\\Extbase\\Mvc\\Web\\FrontendRequestHandler->handleRequest()"
,"TYPO3\\CMS\\Extbase\\Core\\Bootstrap->handleRequest()"
,"TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run(2 Arguments)"
,"xxx\\Yyy\\Rest\\Helper->callExtbasePlugin(6 Arguments)"
,"xxx\\Yyy\\Rest\\GroupHandler->xxx\\Yyy\\Rest\\{closure}(1 Arguments)"
,"Cundd\\Rest\\Router\\Route->process(1 Arguments)"
,"Cundd\\Rest\\Router\\Router->dispatch(1 Arguments)"
,"Cundd\\Rest\\Router\\ResultConverter->dispatch(1 Arguments)"
,"Cundd\\Rest\\Dispatcher->callHandler(1 Arguments)"
,"Cundd\\Rest\\Dispatcher->getCachedResponseOrCallHandler(2 Arguments)"
,"Cundd\\Rest\\Dispatcher->dispatch(2 Arguments)"
,"Cundd\\Rest\\Dispatcher->processRequest(2 Arguments)"
,"Cundd\\Rest\\BootstrapDispatcher->processRequest(2 Arguments)"
,"call_user_func_array(2 Arguments)"
,"TYPO3\\CMS\\Core\\Http\\Dispatcher->dispatch(2 Arguments)"
,"TYPO3\\CMS\\Frontend\\Http\\EidRequestHandler->dispatch(1 Arguments)"
,"TYPO3\\CMS\\Frontend\\Http\\EidRequestHandler->handleRequest(1 Arguments)"
,"TYPO3\\CMS\\Core\\Core\\Bootstrap->handleRequest(1 Arguments)"
,"TYPO3\\CMS\\Frontend\\Http\\Application->run()"
,"{closure}()"
,"require(1 Arguments)"]}

出于调试目的,我添加了一个 initializeAction:

public function initializeAddUserAction()
  {
    return var_dump($_POST);
  }

结果是:

array(1) {
  ["tx_yyy_jsonapi"]=>
  array(4) {
    ["controller"]=>
    string(5) "Group"
    ["action"]=>
    string(7) "addUser"
    ["group"]=>
    int(1)
    ["user"]=>
    int(1)
  }
}

我做错了什么?为什么组解决得很好但用户不行?我在版本 3 中使用 TYPO3 8.7 和其余扩展。

【问题讨论】:

    标签: typo3-8.x persistent-storage


    【解决方案1】:

    fe_users 将字段 tx_extbase_type 设置为 0。如果我将其设置为 Tx_Yyy_User,它将起作用。所以问题是我在普通 FrontendUser 和我的自定义前端用户之间没有区别。

    【讨论】:

    • 这个错误还有什么原因?对我来说,fe_users 不会发生这种情况,但我想在后端模块中处理自己的自定义表/模型。
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多