Fileupload TYPO3在findAll()上变为null

时间:2017-01-19 04:55:22

标签: typo3 extbase fal

你有一个后端模块扩展来上传文件。我使用helhum fileupload作为参考。文件上传成功。但是表的文件​​字段更新了sys_file_reference的uid而不是no文件。为什么会这样?

<f:form.upload  property="file" />

我的引用是this我在哪里可以在表和sys_file引用中设置表名和no_files

2 个答案:

答案 0 :(得分:1)

属性&#34;文件&#34;我假设是一个1:1的关系,这就是为什么文件引用的UID被写入字段的原因。

如果属性是M:N或1:N表,你会看到文件的数量,如你所料 - 并且Extbase需要知道你想要一个包含FileReference对象的ObjectStorage。

关于主题,如果您执行findAll时Repository返回NULL,这几乎总是因为存储页面限制。要克服它,在返回之前覆盖createQuery并在查询上操作QuerySettings,设置respectStoragePageUids(false)。

答案 1 :(得分:0)

我找到了解决问题的方法。我的模特是

/**
     * Sets the file
     *
     * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $file
     * @return void
     */
    public function setFile(\TYPO3\CMS\Extbase\Domain\Model\FileReference $file = NULL)
    {
        $this->file = $file;
    }

我从参数列表中删除了类型。现在它的工作正常。我的更新代码在下面

/**
 * Sets the file
 *
 * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $file
 * @return void
 */
public function setFile($file = NULL)
{
    $this->file = $file;
}