Вывод различных ресурсов для одной модели на основе версии API в Laravel - PullRequest
0 голосов
/ 03 марта 2019

Я хочу иметь две разные версии API и хочу иметь два разных вывода UserCollection.Я пробовал это:

class Branch extends JsonResource
{
    private $usage;

    public function __construct($resource, $usage = null) {
        $this->usage = $usage;
        parent::__construct($resource);
    }

    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id'    => (string) $this->id,
            'code'  => $this->code,
            'name'  => $this->name,
            $this->mergeWhen($this->usage == 'select-branch', [
                'address'   => $this->address,
                'phone'     => $this->phone,
            ]),
             $this->mergeWhen($this->usage == 'api', [
                'bank_id'   => $this->bank_id,
            ]),
        ];
    }
}

и без изменений в UserCollection.

Но первый элемент имеет оба слияния, а для остальных нет слияния.

dd($this->usage) в ресурсе, когда я вызываю его из коллекции, 0 для первого ресурса, 1 для второго и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...