Ресурсы Eloquent API - Добавление ссылки на актив во вложенное значение

Я пытаюсь добавить ссылку на актив во вложенный 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 но они динамические на основе возвращаемых данных.

1 ответ

Решение

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

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

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

Другие вопросы по тегам