add Post persistence: model, migration, eloquent + fake repo
PostModel maps posts table (id, user_id fk, title, body text, created_at indexed). EloquentPostRepository: create, find, findByUserId (desc by created_at), findRecent (limit, desc), delete - chain via ::query() to keep larastan happy. FakePostRepository sorts on read (defensive copy each return). cascade-on-delete on user_id so removing a user nukes their posts. phpstan.neon suppresses staticMethod.dynamicCall under app/*/Eloquent*Repository.php - phpstan-strict-rules flags Eloquent's fluent builder idiom (Model::query()->orderBy()) because the static methods become instance calls mid-chain. suppression scoped to repo files only so the rule still applies elsewhere.
This commit is contained in:
parent
73a3acd39f
commit
e3dddc60aa
5 changed files with 261 additions and 0 deletions
|
|
@ -7,6 +7,15 @@ parameters:
|
|||
treatPhpDocTypesAsCertain: false
|
||||
reportUnmatchedIgnoredErrors: false
|
||||
|
||||
ignoreErrors:
|
||||
# Eloquent's fluent builder triggers staticMethod.dynamicCall in
|
||||
# phpstan-strict-rules because Builder methods declared static on
|
||||
# the model become instance calls after the first chain link. This
|
||||
# is the documented Laravel idiom; suppress the false positive.
|
||||
-
|
||||
identifier: staticMethod.dynamicCall
|
||||
path: app/*/Eloquent*Repository.php
|
||||
|
||||
paths:
|
||||
- app
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue