Laravel Eloquent: hulpfunctie voor database debugging
Bij het werken met Laravel Eloquent, kunnen database queries zeer complex worden en fouten sluipen er snel in. Ze vinden blijkt vaak ingewikkeld te zijn. Vooral als u in het heetst van de strijd een code kopieert, maar deze niet volledig hebt aangepast, u bent vergeten een variabele naam te veranderen of u neemt bestaande softwareprojecten over zonder deze te controleren. De eigenlijke database query kan hier snel helpen.
Voorbeeld:
De planningstabel bevat een gegroeid construct, de gebruiker krijgt de primaire sleutel van de gebruikerstabel. In dit geval, een numerieke ID:
Voorbereiding:
Om te beginnen hebben we de HelperServiceProvider App nodig (app/Providers/HelperServiceProvider.php). In dit bestand worden de "helpers" (hulpfuncties) geregistreerd. De HelperServiceProvider leest alle bestanden in de map "app/Helpers" en integreert ze automatisch.
De HelperServiceProvider moet dan worden geregistreerd in de app. Om dit te doen voeg je de nieuw aangemaakte HelperSeviceProvider toe aan het bestand config/app.php in de sectie "providers":
Functies:
Zoals je in de derde regel kunt zien, gebruiken we de bouwer van Eloquent voor de helpfunctie: (https://laravel.com/docs/8.x/eloquent). Gegevens die per ongeluk zijn ingevoerd, krijgen een foutmelding. ddsql($query->get())
Nadat je het bovenstaande bestand hebt voltooid, kun je de functie "ddsql()" gebruiken in je code. Hier is een voorbeeld van de functie in gebruik (er is een blok code van https://laravel.com/docs/8.x/eloquent#advanced-subqueries gebruikt):
Deze aanpak biedt een goed uitgangspunt om de prestaties op te voeren.