SilverStripe 4 - DataExtension 自动发布版本化文件错误

SilverStripe 4 - DataExtension auto-publish versioned files error

所述,建议的解决方法在 devtest SS 环境中运行良好。 建议的一个是避免当前与通过 DataObject $owns 属性.

管理的自动发布文件相关的错误

但由于我在生产环境中上传了我的项目 - 在 live env - 解决方法不再有效。

就我而言,我正在研究 DataExtension of User 模型。其余的实现完全遵循上述情况 - UploadField。 在生产中,该片段似乎在其条件下被忽略了。特别是,这是我的版本:

用户扩展

// AllegatiDownload: many_many File type uploaded with UploadField
public function onAfterWrite()
{
    if ($this->owner->AllegatiDownloadID) { // <- This is being ignored in live version
        $this->owner->AllegatiDownload()->publishSingle();
    }

    parent::onAfterWrite();
}

如果我尝试替换

$this->owner->AllegatiDownloadID

$this->owner->AllegatiDownload()

条件通过,但 $this->owner->AllegatiDownload()->publishSingle() returns 未跟踪的 500 异常。只是:

There was been an error

而且,正如我所说,这只发生在生产中。

在此先感谢您的支持。

今天我刷新了项目数据库,以升级与之交互的自定义​​前端组件。似乎在那次冲洗之后,问题就解决了。这很奇怪,因为我之前尝试了很多/dev/build?flush=all,但没有任何反应。服务器缓存也许?我不知道。但现在解决方法按预期工作。

谢谢大家的支持