2017-05-26 126 views
1

我正在工作的前端表单女巫让用户能够上传文件。我几乎设法得到FileAttachmentField工作。它将文件上传到所需的文件夹,但不能将上传的文件附加到它。该关系是$ has_one。Silverstripe Dropzone:文件附件字段保存文件,但不附加它

$fields->push(FileAttachmentField::create('BusinessLicense', 'Business License') 
     ->setAcceptedFiles(['.pdf','.doc','.docx']) 
     ->setFolderName($MemberID) 
     ->setValue(null, $this) 

上面的代码不附加文件。如果我将其更改为UploadField这样的:

$fields->push(UploadField::create('IdentityCard', 'Identity Card, Passport, Driving license') 
     ->setFolderName($MemberID) 
     ->setValue(null, $this) 
    ); 

它的工作原理。据我了解的文档,我必须用FileAttachmentField替换UploadField。任何人都可以给我一个提示。我努力使这个工作。我没有看到我做错了什么,或者我错过了什么。

+0

很难说没有知道如何文件关联。 – wmk

回答

2

保存到$has_one关系时,您经常需要ID后缀,尽管某些字段有一些自定义魔法,并且没有它。

因此,像

$fields->push(FileAttachmentField::create('BusinessLicenseID', 'Business License') 

应该工作

+0

非常感谢这个技巧。 –