*/ public function toArray(Request $request): array { if ($this->resource instanceof Ticket) { return [ 'children' => TicketTreeNodeResource::collection( $this->resource->childTickets() ->with('ticketType') ->get(), )->resolve(), 'id' => $this->id, 'ticket_key' => $this->ticket_key, 'ticket_type_name' => $this->ticketType?->name, 'title' => $this->title, ]; } return [ 'children' => TicketTreeNodeResource::collection(collect(Arr::get($this->resource, 'children', [])))->resolve(), 'id' => Arr::get($this->resource, 'id'), 'ticket_key' => Arr::get($this->resource, 'ticket_key'), 'ticket_type_name' => Arr::get($this->resource, 'ticket_type_name'), 'title' => Arr::get($this->resource, 'title'), ]; } }