astrogoat/go-load-up
Go Load Up is a lightweight Laravel package by Astrogoat that simplifies loading data and relationships in your application. It provides practical helpers to keep Eloquent queries clean, reduce boilerplate, and make on-demand loading easier to manage so you can focus on building features.
composer require astrogoat/go-load-up and pin the constraint deliberately — a caret on a 0-star, thin-notes package means you absorb minors unreviewed.src/: the loader contract/interface, the registrar (the thing that collects loaders), and the service provider's register/boot. Those three files tell you more than the README, because the day-to-day API is "register a loader, run it in order" and everything else is sugar.php artisan vendor:publish), if one ships, before writing any loaders. The execution-order config is the whole point of the package; you want to see its shape before you build against it.RegisterObserversLoader, WarmSettingsCacheLoader, BindReportGeneratorsLoader — not SetupLoader. When order matters (and it will), the name is what future-you reads in the config.register() calls to force precedence, you've defeated the package's purpose — encode the dependency in the order config instead.if (app()->environment(...)) branches inside providers. That keeps prod boot paths and local boot paths visible in one place.ReportingServiceProvider that registers three reporting loaders reads better than one god-provider registering thirty. The package is meant to clean up providers, not consolidate everything into a single mega-registration.load()-ish entry point; call it directly in a test, assert the side effect, and you never need to spin up the whole boot sequence to test one piece of setup. This is the main reason the pattern pays off in a small codebase.AppServiceProvider::boot() (or wherever) makes the ordering contract obvious to the next reader and easy to move when you need to slot loaders between existing steps.config:cache changes everything. If your loader conditions or ordering read from config, run php artisan config:clear && php artisan config:cache and exercise the app again. Stale or freshly-cached config is the #1 cause of "the loader ran in local but not staging."queue:work, Octane) or when a test boots the app repeatedly.dd()-ing inside vendor code. A Log::debug('loader:start', ...) pair around each loader shows you the real execution order in one request, which is the fastest way to diagnose ordering issues.composer.lock committed, upgrade on a branch, diff the lock, then merge — don't let ^ float you into a minor that quietly changes a default ordering or condition.How can I help you explore Laravel packages today?