phpstan lief mit 390 Meldungen außerhalb der Baseline, der größte Teil davon Falschmeldungen. Ursache: Larastan löste keinen einzigen Cast auf, weil alle Models ihre Casts über die casts()-METHODE deklarieren (Laravel-11-Stil). Laravel führt die erst zur Laufzeit mit $casts zusammen, Larastan instanziiert Models aber ohne Konstruktor — $pressRelease->status galt deshalb als string und jeder Enum-Vergleich als "immer falsch". Dafür gibt es den Schalter parseModelCastsMethod, dessen Larastan-Default false ist. Zweite Sammelursache waren fehlende Generics an den Relations-Methoden: Ohne sie landete phpstan auf Illuminate\Database\Eloquent\Model und meldete jede Modell-Eigenschaft und jeden eigenen Scope als unbekannt. Alle 102 Relationen tragen jetzt ihr @return <Related, $this>; das verbessert nebenbei die Vervollständigung in der IDE. Zusammen fällt die Zahl von 390 auf 169. Die neu erzeugte Baseline umfasst 166 Einträge, überwiegend Closure-Parameter, die als blankes Builder typisiert sind, sowie zwei nachgeprüfte Falschmeldungs-Gruppen: die Concerns unter app/Livewire werden ausschließlich aus Volt-Komponenten eingebunden, die phpstan nicht analysiert, und Cashier typisiert findBillable() gegen den TRAIT Billable, was phpstan nicht mit User vereinbaren kann — die Laufzeitprüfung dort ist richtig und bleibt. Was die Analyse an echten toten Zweigen zutage gefördert hat, ist mit entfernt: eine doppelte Null-Prüfung im Nachweis-PDF, Prüfungen gegen NOT-NULL-Spalten in der Rechnungsstellung und im Vorschau-Controller, eine immer wahre Bedingung im Logo-Pfad und in RetireAgencyCompanyType, ein überflüssiges ?? [] auf einer Symfony-Methode, die immer ein Array liefert, sowie der unerreichbare null-Arm in publicPortalLinks(). MigrateLegacyMedia deklariert seine Medientypen jetzt als Literal-Union, womit das match ohne default nachweislich vollständig ist statt nur faktisch. Damit das nicht wieder abdriftet — die Baseline stand seit Mai unverändert — läuft die Analyse ab jetzt als eigener Schritt in der Test-Pipeline. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
997 lines
36 KiB
Text
997 lines
36 KiB
Text
parameters:
|
|
ignoreErrors:
|
|
-
|
|
message: '#^Instanceof between App\\Models\\User and Illuminate\\Contracts\\Auth\\MustVerifyEmail will always evaluate to true\.$#'
|
|
identifier: instanceof.alwaysTrue
|
|
count: 1
|
|
path: app/Actions/Fortify/UpdateUserProfileInformation.php
|
|
|
|
-
|
|
message: '#^Expression on left side of \?\? is not nullable\.$#'
|
|
identifier: nullCoalesce.expr
|
|
count: 1
|
|
path: app/Console/Commands/FixLegacyTimestamps.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Console/Commands/MigrateLegacyAgencyNames.php
|
|
|
|
-
|
|
message: '#^Offset ''priority'' on array\{path\: string, priority\: 0\|10\|20\|30\|40\|50\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Console/Commands/MigrateLegacyMedia.php
|
|
|
|
-
|
|
message: '#^Call to static method chunk\(\) on an unknown class App\\Models\\Legacy\\Presseecho\\Article\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Console/Commands/MigratePresseData.php
|
|
|
|
-
|
|
message: '#^Call to static method chunk\(\) on an unknown class App\\Models\\Legacy\\Presseecho\\User\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Console/Commands/MigratePresseData.php
|
|
|
|
-
|
|
message: '#^Call to static method count\(\) on an unknown class App\\Models\\Legacy\\Presseecho\\Article\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Console/Commands/MigratePresseData.php
|
|
|
|
-
|
|
message: '#^Call to static method count\(\) on an unknown class App\\Models\\Legacy\\Presseecho\\User\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Console/Commands/MigratePresseData.php
|
|
|
|
-
|
|
message: '#^Call to static method create\(\) on an unknown class App\\Models\\Article\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Console/Commands/MigratePresseData.php
|
|
|
|
-
|
|
message: '#^Call to static method where\(\) on an unknown class App\\Models\\Brand\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Console/Commands/MigratePresseData.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$has_contacts\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Console/Commands/RetireAgencyCompanyType.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$has_payment_option_links\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: app/Console/Commands/RetireAgencyCompanyType.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$has_press_releases\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Console/Commands/RetireAgencyCompanyType.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$has_third_party_members\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: app/Console/Commands/RetireAgencyCompanyType.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Console/Commands/RetireAgencyCompanyType.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>legacy_id" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Console/Commands/SeedLegacyApiTestdata.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Api/Legacy/LegacyContactController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Api/Legacy/LegacyPressReleaseController.php
|
|
|
|
-
|
|
message: '#^Instanceof between App\\Enums\\PressReleaseStatus and App\\Enums\\PressReleaseStatus will always evaluate to true\.$#'
|
|
identifier: instanceof.alwaysTrue
|
|
count: 1
|
|
path: app/Http/Controllers/Api/V1/PressReleaseImageController.php
|
|
|
|
-
|
|
message: '#^Method App\\Http\\Controllers\\Auth\\GoogleController\:\:redirect\(\) should return Illuminate\\Http\\RedirectResponse but returns Symfony\\Component\\HttpFoundation\\RedirectResponse\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: app/Http/Controllers/Auth/GoogleController.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Laravel\\Cashier\\Payment\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Controllers/CheckoutController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/LegalRequestController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Web/PressReleaseReportController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Web/ReportFormController.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\<Illuminate\\Database\\Eloquent\\Model\>\:\:visibleInArchive\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Http/Controllers/Web/SitemapController.php
|
|
|
|
-
|
|
message: '#^Call to function method_exists\(\) with Laravel\\Sanctum\\PersonalAccessToken and ''getKey'' will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Http/Middleware/EnsureApiTokenRateLimit.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CategoryResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CategoryResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CategoryResource\:\:\$is_active\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CategoryResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CategoryResource\:\:\$legacy_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CategoryResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CategoryResource\:\:\$legacy_portal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CategoryResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CategoryResource\:\:\$portal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CategoryResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CategoryResource\:\:\$translations\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CategoryResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$country_code\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$created_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$email\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$is_active\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$legacy_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$legacy_portal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$name\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$phone\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$portal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$slug\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$type\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$updated_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\CompanyResource\:\:\$website\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/CompanyResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$copyright\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$created_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$description\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$disk\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$height\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$is_preview\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$mime\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$path\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$press_release_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$sort_order\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$title\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$updated_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$variants\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseImageResource\:\:\$width\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method App\\Http\\Resources\\PressReleaseImageResource\:\:url\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method App\\Http\\Resources\\PressReleaseImageResource\:\:variantUrl\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseImageResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$backlink_url\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$created_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$hits\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$keywords\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$language\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$legacy_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$legacy_portal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$no_export\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$portal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$published_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$slug\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$status\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$teaser_begin\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$teaser_end\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$text\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$title\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$updated_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\PressReleaseResource\:\:\$uuid\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/PressReleaseResource.php
|
|
|
|
-
|
|
message: '#^Instanceof between Illuminate\\Http\\Request and Illuminate\\Http\\Request will always evaluate to true\.$#'
|
|
identifier: instanceof.alwaysTrue
|
|
count: 1
|
|
path: app/Http/Responses/RoleAwareLoginResponse.php
|
|
|
|
-
|
|
message: '#^Instanceof between Laravel\\Cashier\\Billable\|null and App\\Models\\User will always evaluate to false\.$#'
|
|
identifier: instanceof.alwaysFalse
|
|
count: 3
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Method App\\Listeners\\ProcessStripeWebhook\:\:localSubscription\(\) is unused\.$#'
|
|
identifier: method.unused
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Method App\\Listeners\\ProcessStripeWebhook\:\:snapshotAddress\(\) is unused\.$#'
|
|
identifier: method.unused
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Property App\\Listeners\\ProcessStripeWebhook\:\:\$activityLog is never read, only written\.$#'
|
|
identifier: property.onlyWritten
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Property App\\Listeners\\ProcessStripeWebhook\:\:\$numbers is never read, only written\.$#'
|
|
identifier: property.onlyWritten
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Unreachable statement \- code above always terminates\.$#'
|
|
identifier: deadCode.unreachable
|
|
count: 3
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>address1" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>city" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>country_code" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>postal_code" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Listeners/ProcessStripeWebhook.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Listeners/RecordMailActivity.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\HandlesAdminPressReleaseActions is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/HandlesAdminPressReleaseActions.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\HasFullTextSearch is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/HasFullTextSearch.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\HasSortableTable is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/HasSortableTable.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\InteractsWithAiDeclaration is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/InteractsWithAiDeclaration.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\InteractsWithPressReleaseContacts is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/InteractsWithPressReleaseContacts.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\InteractsWithPressReleaseScheduling is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/InteractsWithPressReleaseScheduling.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\InteractsWithPressReleaseTags is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/InteractsWithPressReleaseTags.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\ProvidesPressReleaseFormRules is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/ProvidesPressReleaseFormRules.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\ProvidesPressReleasePresubmitChecks is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/ProvidesPressReleasePresubmitChecks.php
|
|
|
|
-
|
|
message: '#^Trait App\\Livewire\\Concerns\\ProvidesUserFormRules is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: app/Livewire/Concerns/ProvidesUserFormRules.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Models/Category.php
|
|
|
|
-
|
|
message: '#^PHPDoc tag @var with type Illuminate\\Database\\Eloquent\\Model is not subtype of native type \$this\(App\\Models\\Company\)\.$#'
|
|
identifier: varTag.nativeType
|
|
count: 1
|
|
path: app/Models/Company.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Models/Company.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>version" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Models/LegalDocument.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPlacement\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:published\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\<Illuminate\\Database\\Eloquent\\Model\>\:\:active\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^Method App\\Models\\PressRelease\:\:embargoAtLocal\(\) should return Illuminate\\Support\\Carbon\|null but returns Carbon\\Carbon\|null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^Method App\\Models\\PressRelease\:\:scheduledAtLocal\(\) should return Illuminate\\Support\\Carbon\|null but returns Carbon\\Carbon\|null\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^PHPDoc tag @var with type Illuminate\\Database\\Eloquent\\Model is not subtype of native type \$this\(App\\Models\\PressRelease\)\.$#'
|
|
identifier: varTag.nativeType
|
|
count: 1
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Database\\Eloquent\\Collection\<int, App\\Models\\PressReleaseImage\>\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Models/PressRelease.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>balance_credits" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Models/User.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>press_release_quota" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Models/User.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:grandfatheredNow\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Models/UserPaymentOption.php
|
|
|
|
-
|
|
message: '#^Method App\\Services\\Admin\\AdminSlowRequestReporter\:\:entries\(\) should return Illuminate\\Support\\Collection\<int, array\<string, mixed\>\> but returns Illuminate\\Support\\Collection\<int, non\-empty\-array\<string, mixed\>\>\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: app/Services/Admin/AdminSlowRequestReporter.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$requests\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Api/ApiUsageReporter.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Api/ApiUsageReporter.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Carbon\\Carbon\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Api/ApiUsageReporter.php
|
|
|
|
-
|
|
message: '#^Offset ''status'' on array\{0\: non\-falsy\-string, client_ip\: non\-empty\-string, 1\: non\-empty\-string, method\: ''DELETE''\|''GET''\|''HEAD''\|''OPTIONS''\|''PATCH''\|''POST''\|''PUT'', 2\: ''DELETE''\|''GET''\|''HEAD''\|''OPTIONS''\|''PATCH''\|''POST''\|''PUT'', target\: non\-empty\-string, 3\: non\-empty\-string, status\: non\-falsy\-string&numeric\-string, \.\.\.\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Api/LegacyApiAccessLogAnalyzer.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Services/Api/LegacyApiCustomerReporter.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\RegistrationType\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Api/LegacyApiCustomerReporter.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Relations\\Pivot\:\:\$role\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Auth/ContactAccessService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>id" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Auth/MagicLinkGenerator.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>currency" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Billing/ManualInvoiceService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>price_cents" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Billing/ManualInvoiceService.php
|
|
|
|
-
|
|
message: '#^Access to property \$id on an unknown class Laravel\\Cashier\\Concerns\\Stripe\\TaxId\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Services/Billing/StripeCheckoutService.php
|
|
|
|
-
|
|
message: '#^Access to property \$type on an unknown class Laravel\\Cashier\\Concerns\\Stripe\\TaxId\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Services/Billing/StripeCheckoutService.php
|
|
|
|
-
|
|
message: '#^Access to property \$value on an unknown class Laravel\\Cashier\\Concerns\\Stripe\\TaxId\.$#'
|
|
identifier: class.notFound
|
|
count: 1
|
|
path: app/Services/Billing/StripeCheckoutService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>timestamp" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Billing/SubscriptionPeriodResolver.php
|
|
|
|
-
|
|
message: '#^Unsafe access to private property App\\Services\\CurrentPortalContext\:\:\$portal through static\:\:\.$#'
|
|
identifier: staticClassAccess.privateProperty
|
|
count: 4
|
|
path: app/Services/CurrentPortalContext.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>role" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Customer/CustomerCompanyContext.php
|
|
|
|
-
|
|
message: '#^Offset ''filename'' on array\{dirname\?\: string, basename\: string, extension\?\: string, filename\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Image/ImageService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>slug" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Import/PressReleaseImporter.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>uuid" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Import/PressReleaseImporter.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>translations" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Services/PressRelease/BoostService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Enums\\Portal\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/PressRelease/CorrectionService.php
|
|
|
|
-
|
|
message: '#^Instanceof between App\\Enums\\PressReleaseStatus and App\\Enums\\PressReleaseStatus will always evaluate to true\.$#'
|
|
identifier: instanceof.alwaysTrue
|
|
count: 1
|
|
path: app/Services/PressRelease/PressReleaseService.php
|
|
|
|
-
|
|
message: '#^Method App\\Services\\PressRelease\\PressReleaseService\:\:resolvePublishedAt\(\) should return Illuminate\\Support\\Carbon but returns Carbon\\Carbon\.$#'
|
|
identifier: return.type
|
|
count: 3
|
|
path: app/Services/PressRelease/PressReleaseService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/PressRelease/PressReleaseService.php
|
|
|
|
-
|
|
message: '#^Comparison operation "\<" between int\<1, max\> and 1 is always false\.$#'
|
|
identifier: smaller.alwaysFalse
|
|
count: 2
|
|
path: app/Services/PressRelease/ProofPdfRenderer.php
|
|
|
|
-
|
|
message: '#^Instanceof between App\\Enums\\Portal and App\\Enums\\Portal will always evaluate to true\.$#'
|
|
identifier: instanceof.alwaysTrue
|
|
count: 1
|
|
path: app/Services/PressRelease/ProofPdfRenderer.php
|
|
|
|
-
|
|
message: '#^Result of \|\| is always false\.$#'
|
|
identifier: booleanOr.alwaysFalse
|
|
count: 1
|
|
path: app/Services/PressRelease/ProofPdfRenderer.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$recent_releases_count\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Web/CategoryPageData.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$today_releases_count\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Web/CategoryPageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: app/Services/Web/CategoryPageData.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$recent_releases_count\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Web/HomePageData.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Company\:\:\$today_releases_count\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Web/HomePageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 5
|
|
path: app/Services/Web/HomePageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\<Illuminate\\Database\\Eloquent\\Model\>\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/HomePageData.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/Web/HomePageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\<Illuminate\\Database\\Eloquent\\Model\>\:\:visibleInArchive\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/HubPageData.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with list\<array\{label\: string, value\: string, delta\: string, positive\: bool\}\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/Web/MarketDataService.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/NewsroomDetailPageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/NewsroomsPageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/ReleaseDetailPageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Support\\Collection\<\(int\|string\), mixed\>\:\:modelKeys\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/ReleaseDetailPageData.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:forPortalValues\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: app/Services/Web/VeroeffentlichenPageData.php
|
|
|
|
-
|
|
message: '#^Method App\\Support\\CategoryNavigation\:\:query\(\) should return Illuminate\\Support\\Collection\<int, array\{label\: string, slug\: string, href\: string\}\> but returns Illuminate\\Support\\Collection\<int, array\{label\: string, slug\: non\-falsy\-string, href\: string\}\>\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: app/Support/CategoryNavigation.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with array\<string, mixed\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Support/DomainAssetContext.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Faker\\Generator\:\:secondaryAddress\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: database/factories/BillingAddressFactory.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Faker\\Generator\:\:secondaryAddress\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: database/factories/InvoiceBillingAddressFactory.php
|