2017-01-19 24 views
0

嗨有一個後端模塊擴展來上傳文件。我使用helhum fileupload作爲參考。文件上傳成功。但是表的文件​​字段更新了sys_file_reference的uid而不是沒有文件。爲什麼會發生?Fileupload TYPO3在findAll上變爲空()

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

我引用this我在哪裏可以設置表名和我的表no_files和sys_file參考

回答

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; 
    } 

我刪除從參數列表中的類型。現在它的工作fine.My更新的代碼如下

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

屬性「文件」我認爲是一個1:1的關係,這是對爲什麼UID文件引用是寫入該字段的內容。

如果屬性是M:N或1:N表,您可以看到文件數量,並且Extbase需要知道您需要一個ObjectStorage,其中包含FileReference對象。

關於這個問題,如果您的存儲庫在findAll時返回NULL,這幾乎總是因爲存儲頁面的限制。爲了克服它,在返回之前,重寫createQuery並在查詢上操作QuerySettings,並設置respectStoragePageUids(false)。