Maak directe SQL-query's in Laravel

Inhoudsopgave
Ondanks alle faciliteiten die het ons geeft Laravel Voor het manipuleren van data en datastructuren zijn er nog steeds mensen die liever een deel van het manipulatieproces direct uitvoeren, hiervoor moeten we expliciete of directe queries gebruiken.
Hoewel het niet slecht is, moeten we heel voorzichtig zijn, want door directe query's te maken, kunnen we onze toepassing blootleggen of de prestaties ervan verminderen, maar als we weten wat we doen, kunnen we een aantal dingen verkrijgen die vanwege hun complexiteit moeilijk te bereiken zouden zijn anders.
Om deze directe vragen op te nemen, kunnen we gegevens opnemen in een migraties bestand, hiermee kunnen we garanderen dat we de geschiedenis van onze wijzigingen behouden en op deze manier kunnen we dat doen als we terug moeten naar een eerdere staat in onze database.
Laten we uitgaan van het uitgangspunt dat we een tabel in onze database hebben, om een ​​migratie te maken waarbij we handmatig gegevens toevoegen, doen we het volgende:

· We gaan de migratie van het toevoegen van gegevens genereren met de volgende code:

php artisan migreren: make add_data_to_shows_table

Dit zou een bestand van de stijl moeten genereren 2014_07_02_222551_add_data_to_shows_table.php waarbij de nummering overeenkomt met de datum waarop het bestand is gegenereerd.

· Laten we nu in de volgende afbeelding een voorbeeldcode bekijken die we in de methode kunnen toevoegen omhoog ():

We zien dat we een kleine dataset met 3 records hebben voorbereid, tot nu toe is alles heel eenvoudig geweest, nu zullen we zien hoe we directe query's kunnen doen.
Om directe vragen te stellen, moeten we de volgende stappen volgen.
1- We moeten eerst een model genereren, hiervoor in onze applicatie in de directory app / modellen we zullen een bestand maken met de naam Toon.php, deze naam is het enkelvoud van de database, op deze manier met de conventie van Laravel wij kunnen het gebruiken. Laten we eens kijken wat ons model zal dragen:

Binnen de klasse zien we dat we handmatig een SQL-query hebben gemaakt die alle gegevens opvraagt ​​en we hebben een voorwaarde gemaakt waar we een clausule kunnen toevoegen om onze gegevens te ordenen, in het geval dat we deze argumenten er niet aan doorgeven, wordt de query gegenereerd zonder de bestelling.
2- Aangezien we de dataset hebben gemaakt, gaan we een route genereren waar we onze query met directe SQL kunnen aanroepen, hiervoor moeten we de bijbehorende code in het bestand toevoegen routes.php met de volgende inhoud die we in de afbeelding zien:

We zien dan dat we een object maken van het model dat we in de vorige stap hebben gedeclareerd, dan noemen we de methode die we hebben opgenomen en we geven het een veld en een oriëntatie door om de ***** door uit de respons van de resultaten gebruiken we uiteindelijk de methode helper door Laravel dd () om de gegevens weer te geven, kunnen we in een normale toepassing in plaats van deze hulpmethode de resultaten naar een weergave sturen om ze te herhalen.
Zoals we kunnen zien, is het heel eenvoudig om een directe SQL-query in LaravelWe hoeven alleen de methode in het model aan te maken en hierdoor hebben we toegang tot de queries.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave