TYPO3:存储库->findAll() 不起作用

2023-12-01

我正在构建一个带有后端模块的扩展。当我打电话给findAll() 方法它返回一个“QueryResult”对象。

我尝试用以下方法检索对象查找按Uid() 并且它确实有效。

我在打字稿中设置了存储pid:

plugin.tx_hwforms.persistence.storagePid = 112

我还可以在打字稿对象浏览器中看到它。

我还将其添加到我的存储库类中:

public function initializeObject()
    {
        $defaultQuerySettings = $this->objectManager->get(\TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings::class);
        $defaultQuerySettings->setRespectStoragePage(false);
        $this->setDefaultQuerySettings($defaultQuerySettings);
    }

这样存储pid就被忽略了... 它仍然不起作用,findAll 没有返回应有的实体数组


存储库must返回一个查询结果findAll方法。仅返回单个对象的方法(findOneByXYZ)将返回任何其他内容。

以下所有操作都会导致 QueryResult 加载其包含的实际结果。在执行其中一项操作之前,不会加载任何结果,并且调试 QueryResult 将不会产生除原始查询之外的任何信息。

  • $queryResult->toArray();
  • $queryResult->offsetGet($offset); and $queryResult[$offset];
  • $queryResult->offsetExists($offset);
  • $queryResult->offsetSet($offset, $value); and $queryResult[$offset] = $value;(但请注意,自己使用 QueryResult 执行此操作是不合逻辑的)。
  • $queryResult->offsetUnset($offset); and unset($queryResult[$offset]);(同样,自己使用这个是不合逻辑的)
  • $queryResult->current(), ->key(), ->next(), ->prev(), ->rewind() and ->valid()它们都可以直接调用,或者在您开始迭代 QueryResult 时调用。

注意->getFirst() and ->count()不会导致原始查询触发,并且如果结果尚未填充,则不会填充结果。相反,他们将执行优化的查询。

Summa summarum:当您获得 QueryResult 时,您必须以某种方式触发它,这通常在您开始呈现结果集时发生。它不是一个预填充数组;它是一个动态填充的迭代器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TYPO3:存储库->findAll() 不起作用 的相关文章

  • 参数“indexController”不是函数,未定义

    之前已经问过这个问题 但它没有回答我的问题 我对 Angular 还很陌生 目前我只是把东西放在一起 我试图让我的工厂在我的控制器内工作 但是我的控制台中不断出现以下错误 Argument indexController is not a

随机推荐

  • Rails:属于_to,条件/范围抛出语法错误

    我想选择拥有的公司 我尝试了多种组合 新的 Rails 3 旧的学校 所有这些都抛出相同的语法错误unexpected n expecting gt belongs to from class name Company foreign ke
  • xslt文档函数问题

    如果您正在使用文档功能并打开可能不存在的文件 例如
  • 正则表达式替换除特定模式之外的所有内容

    我正在寻找提取 50 来自或多或少具有这种格式的字符串 The 50 is in here somewhere 我还想摘录一下 50 50 25 从这样的字符串 50 of 50 is 25 Regex Match 似乎是明显的竞争者 然而
  • 通过多个分组将长形重塑为宽形

    我的数据如下所示 Smoker PtNo Day Hour FEV1 timename 1 0 1 1 0 3 26 d1h0 2 0 1 1 2 3 05 d1h2 3 0 1 1 4 3 02 d1h4 4 0 1 1 6 3 27 d
  • 使用 Facebook API PHP 在某人的墙上发帖

    是否可以编写一个在某人的墙上发布消息的应用程序 并且如果该用户尚未接受此时提示的许可 这是我的代码 attachment array access token gt access token message gt message name
  • C# 文件处理 - 创建文件并打开

    这就是我在文件上创建和写入的内容 Create Directory path Create Name file name private void Create File string Create Directory string Cre
  • 调用always_inline '__m256d _mm256_broadcast_sd(const double*)' 时内联失败

    我正在尝试运行由我的朋友创建的 Visual Studio cpp 项目 我正在尝试在没有 VS 的情况下运行该文件 但我收到了错误列表 全部采用相同的格式 inlining failed in call to always inline
  • C# json.net 子对象的自定义序列化

    我正在使用 JSON NET 将类序列化为 JSON 该类包含一个由项目列表组成的属性 我想以自定义方式序列化项目本身 通过使用自定义的 ContractResolver 动态地仅包含某些属性 所以基本上我想用 DefaultContrac
  • 在 php 中使用 fopen() 创建文件时的默认权限是什么?

    如果调用时文件不存在 fopen
  • 彩色动画内容演示器

    我无法在 ContentPresenter NormalTextDay 中创建动画或自定义颜色 此错误出现在我的 XAML 中 System Windows Media Animation ColorAnimation 动画对象无法用于对属
  • 需要在 Apache 上允许编码斜杠

    我目前正在尝试将 URL 放入 URL 中 例如 http example com url http 3A 2F 2Fwww url2 com 我知道我必须对 URL 进行编码 我已经这样做了 但现在我得到了404从服务器而不是我的应用程序
  • 对 JTable 进行排序会导致 NullPointerException

    我有一个 JTable 当单击相应的按钮时 它开始填充在后台进行的文件树遍历的结果 这很好用 然后我决定对表格进行排序 经过一番阅读后 我创建了一个 TableRowSorter 并设置表来使用它 它似乎有效 但经过仔细检查 我发现一些文件
  • Bing 地图 API 与 Android 应用程序的集成程度如何?

    首先我想问一下 你能整合吗 Bing Maps在 Android 应用程序中 其次 如果可以的话有什么好处Bing已经结束Google Maps API反之亦然 Updates This Android SDK v1 5现已弃用 看到这个链
  • PreparedStatement 如何避免或防止 SQL 注入?

    我知道PreparedStatements 可以避免 防止SQL 注入 它是如何做到的 使用PreparedStatements 构造的最终表单查询是字符串还是其他形式 考虑做同一件事的两种方法 PreparedStatement stmt
  • Windows 批处理文件中的传递、转义和识别特殊字符

    我编写了一个脚本 它会遍历输入字符串的每个字符 并根据我需要执行不同操作的字符 只要我的输入不包含任何空格或双引号字符 这种方法就可以很好地工作 我知道我必须转义特殊字符 但由于某种原因 我似乎对空格和双引号做错了 如果我使用参数 ab c
  • 打印图像的实际尺寸

    嗨 朋友们 我想打印我生成的图片 我使用以下代码 Printer BeginDoc Printer Canvas Draw 0 0 img1 Picture Bitmap Printer EndDoc 它可以工作 但它打印的图像非常小 我如
  • 通过序数索引访问红黑树

    我有一棵红黑树 二叉树 所有叶子都在2层以内 我可以浏览节点 向左 向右或父节点 我知道节点的全部数量 我必须找到树中第 N 个最小的元素 有没有比 O n 更快的方法 有什么通过索引优化访问的想法吗 在每个节点 X 中 您应该存储以 X
  • 如何确定文件对于 *nix 上的进程是否是只读的? [复制]

    这个问题在这里已经有答案了 使用 stat 函数 我可以获得以下内容的读 写权限 owner user other 但这不是我想要的 我想知道我的进程 即我正在编写的应用程序 的文件的读 写权限 仅当我知道我的进程是否作为文件的所有者 用户
  • 从 BigQuery 将数据导出到 GCS - 拆分文件大小控制

    我目前正在将数据从 Bigquery 导出到 GCS 存储桶 我使用以下查询以编程方式执行此操作 query request bigquery service jobs DATASET NAME PROJECT ID DATASET ID
  • TYPO3:存储库->findAll() 不起作用

    我正在构建一个带有后端模块的扩展 当我打电话给findAll 方法它返回一个 QueryResult 对象 我尝试用以下方法检索对象查找按Uid 并且它确实有效 我在打字稿中设置了存储pid plugin tx hwforms persis