Silverstripe Dropzone:文件附件字段保存文件但不附加它

时间:2017-05-26 08:33:19

标签: php silverstripe

我正在处理一个前端表单,使用户能够上传文件。我几乎设法让 FileAttachmentField 正常工作。它将文件上传到所需的文件夹,但我无法将上传的文件附加到它。关系是$ has_one。

    $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。任何人都可以给我一个提示。我努力让这个工作。我不知道我做错了什么或我错过了什么。

1 个答案:

答案 0 :(得分:2)

当保存到$has_one关系时,您经常需要ID后缀,尽管某些字段具有一些自定义魔法,并且在没有它的情况下工作。

类似

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

应该有效