> */ public static function map(): array { return [ 'brand' => Brand::class, 'category' => Category::class, 'product' => Product::class, 'tenant' => Tenant::class, ]; } /** * @return class-string */ public static function resolveOrFail(string $alias): string { $modelClass = Arr::get(static::map(), $alias); if (! is_string($modelClass) || ! is_subclass_of($modelClass, Model::class) || ! in_array(Propable::class, class_uses_recursive($modelClass), true)) { throw new NotFoundHttpException('Propable model not found.'); } return $modelClass; } }