Eloquent API 资源 - 添加资产 link 到嵌套值

Eloquent API Resources - Adding asset link to nested value

我正在尝试使用 Eloquents API 资源函数将资产 link 添加到嵌套的 properties 值:

public function toArray($request)
{
    return [
     'id' => $this->id,
     'title' => $this->title,
     'image' => isset($this->image) ? asset('storage/'.$this->image) : null,
     'properties' => $this->properties,
     'created_at' => (string) $this->created_at,
     'updated_at' => (string) $this->updated_at
   ];
}

以下内容适用于 image 值,但我使用的是嵌套 properties['pdf'] 文件,我需要向其中添加 asset('storage/') 参数,以便它输出完整的 URL.

如何将 isset($this->properties['pdf']) ? asset('storage/'.$this->properties['pdf']) : null 传递到属性值中?我仍然需要属性值中的 pdf 值到 return。

注意:properties 中还有其他值,但它们是基于 returned 数据的动态值。

可能不是最干净的想法,但它奏效了:

    $properties = $this->properties;
    if(isset($this->properties['pdf']) && $this->properties['pdf'] != null){
      $properties['pdf'] = asset('storage/'.$this->properties['pdf']);
    }

然后我将 $properties 应用到 return。