2

我正在尝试使用 fileupload 小部件获取上传文件的路径,然后将该文件复制到自定义文件夹中,但是在创建新记录时,它会在 afterSave() 调用时尝试获取非对象的属性“路径”时出错。

模型:

 public $attachOne = [
        'file' => ['System\Models\File']
    ];

    public function afterSave()
    {
        $path = $this->file->path;
        log::info($path);
    }
4

1 回答 1

2

在您的模型中替换此 afterSave 方法,它不会显示您遇到的错误。

public function afterSave()
{
    $sessionKey = post('_session_key');
    $file = $this->file()->withDeferred($sessionKey)->first();
    if($file){
        log::info($file->getPath());
    }
}

原因是 \System\Models\File 在主模型提交其更改后延迟可用。

如果您需要更多帮助,请告诉我。

于 2018-08-20T04:53:58.413 回答