Eloquent API Resources - добавление ссылки на ресурс к вложенному значению - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь добавить ссылку на ресурс к вложенному значению properties с помощью функции ресурса Eloquents API:

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 возвращалось внутри значения свойств.

Примечание. Внутри properties есть и другие значения, но они являются динамическими c на основе возвращенных данных.

1 Ответ

0 голосов
/ 27 апреля 2020

Вероятно, не самая чистая идея, но это сработало:

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

Затем я применил $properties к возвращению.

...