← Zurück zu Team für Laravel und React
Entdecke, wie der Skill hilft
Eloquent-Modelle und Abfragen
Gestaltet klare Laravel-Abfragen und Beziehungen mit vorhersehbaren Ereignissen, Speicherbedarf und Datentypen.
laravel-eloquent
Teammitglieder mit diesem Skill
Wann ist der Skill hilfreich?
Nutze diesen Skill bei übermäßiger Datenladung oder verstecktem Modellverhalten.
Wobei hilft er dir?
- Prüft Casts, Observer und Schreibregeln vor Persistenzänderungen.
- Gruppiert Bedingungen ohne Umgehung von Mandantenfiltern.
- Nutzt Datenbankaggregation und begrenzte Verarbeitung statt vollständiger Sammlungen.
Das könntest du fragen
Überarbeite unseren Bestellbericht mit begrenzten Filtern und Datenbanksummen bei erhaltenen nötigen Modellereignissen. Kombiniere eine ODER-Suche mit Mandantenfilter und vergleiche Berichtssummen. Auch über die alternative Bedingung darf kein fremder Mandantendatensatz erscheinen.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Eloquent & Query Design
Models, relationships and casts
- Declare explicit return types on relationships (
HasMany,BelongsTo,BelongsToMany,HasOne,MorphTo) and prefer Eloquent relationships and query builder methods (Model::query()) over raw SQL or manual joins. - Inspect a model's casts (
casts()method or$castsproperty, following the repo),$fillable/$guarded, global scopes, observers and model events before changing how it is created, updated or deleted. - Configure casts for dates (
immutable_datetime), PHP enums, booleans, JSON (array/AsArrayObject) and encrypted attributes. - Never hide external network calls, writes or heavy queries inside an accessor; accessors may run on every serialization.
- Remember that bulk queries (
Model::where(...)->update(),delete(),insert(),upsert()) bypass Eloquent model events and observers.
Scopes and expressive queries
- Encapsulate reusable query constraints in local scopes (
#[Scope]orscopeActive(Builder $query): Builder). GrouporWhereclauses inside a closure ($query->where(fn ($q) => $q->where(...)->orWhere(...))) so precedence never leaks past tenant or status filters. - Push filtering, counting and aggregation into SQL (
withCount,withSum,withExists,whereRelation,whereDoesntHave,addSelectsubqueries, orselectRawwith bound parameters) instead of calling->get()and filtering or summing in PHP Collections. - Stream or batch large datasets with
chunkById(),lazy()orcursor()rather than loading thousands of models into memory withall()orget().
Enthaltene Dateien 2
LICENSE.txtSKILL.md
