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

时间:2018-10-19 09:00:46

标签: php silverstripe silverstripe-4

this solution所述,建议的解决方法在devtest SS环境中效果很好。 建议的方法是避免当前与通过DataObject $owns属性管理的文件自动发布有关的错误。

但是,由于我将项目上传到生产环境中-在live的环境中-解决方法不再起作用。

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

UserExtension

// 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()返回一个未跟踪的500异常。只是:

  

出现错误

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

预先感谢您的支持。

1 个答案:

答案 0 :(得分:0)

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

仍然感谢您的支持。