Forudsætning:
Du vil kræve en tabel i databasen, hvor Laravel-projektet er forbundet. Du kan oprette en tabel ved at migrere kommandoen eller manuelt. Jeg har brugt brugere tabel i denne vejledning for at udføre CRUD-operationen ved hjælp af ressourcecontrolleren. Bordet er tomt nu. Tabellens struktur er vist nedenfor.
Opret en ressourcecontroller:
Kør følgende kommando fra terminalen for at oprette den ressourcecontroller, der hedder UserController.
$ php håndværkerfabrik: controller UserController - ressource
Hvis du åbner controlleren fra en hvilken som helst editor, vil du se, at følgende koder allerede er skrevet i controlleren. Syv metoder oprettes automatisk inde i controlleren til udførelse af CRUD-operationer.
navneområde App \ Http \ Controllers;brug Illuminate \ Http \ Request;
klasse UserController udvider Controller
/ **
* Vis en liste over ressourcen.
*
* @return \ Illuminate \ Http \ Response
* /
offentligt funktionsindeks ()
//
/ **
* Vis formularen til oprettelse af en ny ressource.
*
* @return \ Illuminate \ Http \ Response
* /
offentlig funktion oprette ()
//
/ **
* Gem en nyoprettet ressource på lager.
*
* @param \ Illuminate \ Http \ Anmod om $ anmodning
* @return \ Illuminate \ Http \ Response
* /
offentlig funktionsbutik (Anmod $ anmodning)
//
/ **
* Vis den angivne ressource.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funktionsvisning ($ id)
//
/ **
* Vis formularen til redigering af den angivne ressource.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
redigering af offentlig funktion ($ id)
//
/ **
* Opdater den angivne ressource i lager.
*
* @param \ Illuminate \ Http \ Anmod om $ anmodning
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funktionsopdatering (Anmod $ anmodning, $ id)
//
/ **
* Fjern den angivne ressource fra lageret.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funktion ødelægge ($ id)
//
Ressourceruter:
Tilføj følgende rute til UserController at oprette ressourceruter i internettet.php fil.
Rute :: ressource ('brugere', 'UserController');Kør nu følgende kommando fra terminalen for at kontrollere den aktuelle ruteliste fra web.php fil.
$ php håndværkerute: listeFølgende ruteinformation genereres til brug af metoden Rute :: ressource (). syv ruter oprettes til at kalde syv metoder. Brugen af disse ruter forklares senere i den næste del af denne vejledning.
Tilføj følgende linjer i begyndelsen af UserController.php fil til import af brugermodellen, Hash-tjeneste til hashing af adgangskoden og DB-service til databasehandlinger.
brug App \ User;brug Hash;
brug DB
Indsæt post:
Rediger skab() metode til UserController med følgende kode. Her er et objekt fra Bruger model oprettes for at indsætte de nye poster. Efter tildeling af de obligatoriske værdier, Gemme() funktion kaldes for at indsætte den nye post i studerende bord.
offentlig funktion oprette ()$ bruger = ny bruger;
$ bruger-> navn = 'fahmida';
$ user-> email = '[email protected]';
$ bruger-> adgangskode = Hash :: make ('12345');
prøve
$ bruger-> gem ();
ekko "Record er indsat";
fange (\ Illuminate \ Database \ QueryException $ e)
ekko "Duplicate entry";
Ruten til at ringe til skab() metode til UserController er 'brugere / opret''. Kør følgende URL fra browseren. Hvis posten indsættes korrekt, vises følgende output.
http: // localhost / laravelpro / public / users / create
Nu, hvis tjek tabellen fra databasen, får du følgende output.
Vis alle poster:
Rediger indeks() metode til UserController med følgende kode for at hente alle poster fra brugere tabel og vise værdierne for navn og e-mail.
offentligt funktionsindeks ()$ brugere = DB :: vælg ('vælg * fra brugere');
foreach ($ brugere som $ bruger)
ekko "Navn: $ bruger-> navn";
ekko "
E-mail: $ bruger-> e-mail ";
Ruten til at ringe til indeks() metode til UserController er 'brugere''. Kør følgende URL fra browseren.
http: // localhost / laravelpro / public / brugere
Følgende output vises.
Vælg specifik post:
Rediger at vise() metode til UserController med følgende kode for at hente en post fra brugere tabel, der indeholder 1 i id felt og vise værdien af navn.
offentlig funktionsvisning ($ id)$ bruger = DB :: vælg ('vælg * blandt brugere, hvor id ='.$ id);
ekko "Brugerens navn er". $ bruger [0] -> navn."
";
Ruten til at ringe til at vise() metode til UserController er 'brugere / id''. Kør følgende URL fra browseren.
http: // localhost / laravelpro / public / brugere / 1
Følgende output vises.
Opdater post:
To metoder er primært defineret i ressourcecontrolleren til at opdatere en databasepost. Disse er redigere() og opdater () hvor dataene for posten opdateres ved hjælp af en hvilken som helst redigeret form. Men der bruges ikke nogen redigeringsformular. Så kun den redigere() metoden bruges til at opdatere en bestemt registrering af studerende bord. Den aktuelle værdi af en bestemt post udskrives før og efter udførelse af opdateringsforespørgslen.
redigering af offentlig funktion ($ id)$ bruger = DB :: vælg ('vælg * blandt brugere, hvor id ='.$ id);
ekko "Den aktuelle e-mail fra brugeren er". $ bruger [0] -> e-mail."
";
$ email = '[email protected]';
$ bruger = DB :: vælg ("Opdater brugere sæt e-mail = '$ email'where id =".$ id);
$ bruger = DB :: vælg ('vælg * blandt brugere, hvor id ='.$ id);
ekko "Brugerens e-mail efter opdatering er". $ bruger [0] -> e-mail;
Ruten til at ringe til redigere() metode til UserController er 'brugere / id / rediger''. Kør følgende URL fra browseren.
http: // localhost / laravelpro / public / brugere / 1 / rediger
Følgende output vises.
Slet post:
Destroy () -metoden er defineret for at slette enhver post fra tabellen. Men ruten til sletning af posten går fra en anden metode. Her har jeg brugt at vise() metode til at oprette et hyperlink til sletning af den post, der tilføjes i slutningen af metoden.
offentlig funktionsvisning ($ id)$ bruger = DB :: vælg ('vælg * blandt brugere, hvor id ='.$ id);
ekko "Brugerens navn er". $ bruger [0] -> navn."
";
ekko "Slet";
Tilføj følgende kode i ødelægge() metode til at slette en bestemt post.
offentlig funktion ødelægge ($ id)$ bruger = DB :: vælg ('Slet fra brugere hvor id ='.$ id);
ekko "Posten slettes";
Tilføj ruten i web.php fil til at ringe til ødelægge() metode.
Rute :: get ('/ users / delete / id', '[email protected]');Efter at have klikket på sletlinket vises følgende output.
Konklusion:
Brugen af ressourcestyringen og konceptet for ruteressourcen forklares detaljeret i denne vejledning ved hjælp af en CRUD-operation. Jeg håber, det vil hjælpe de nye Laravel-brugere med at implementere CRUD-operation let i deres projekt.