Forutsetning:
Du vil trenge en tabell i databasen der Laravel-prosjektet er koblet. Du kan opprette en tabell ved å overføre kommandoen eller manuelt. Jeg har brukt brukere tabellen i denne veiledningen for å utføre CRUD-operasjonen ved hjelp av ressurskontrolleren. Bordet er tomt nå. Tabellens struktur er vist nedenfor.
Opprett en ressurskontroller:
Kjør følgende kommando fra terminalen for å opprette ressurskontrolleren UserController.
$ php kunsthåndverk: kontroller UserController - ressurs
Hvis du åpner kontrolleren fra en hvilken som helst redaktør, vil du se at følgende koder allerede er skrevet i kontrolleren. Syv metoder blir opprettet inne i kontrolleren automatisk for å utføre CRUD-operasjoner.
navneområde App \ Http \ Controllers;bruk Illuminate \ Http \ Request;
klasse UserController utvider Controller
/ **
* Vis en liste over ressursen.
*
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsindeks ()
//
/ **
* Vis skjemaet for å opprette en ny ressurs.
*
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjon lage ()
//
/ **
* Lagre en nyopprettet ressurs i lagring.
*
* @param \ Illuminate \ Http \ Be om $ forespørsel
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsbutikk (Be om $ forespørsel)
//
/ **
* Vis den angitte ressursen.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsvisning ($ id)
//
/ **
* Vis skjemaet for redigering av den angitte ressursen.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsredigering ($ id)
//
/ **
* Oppdater den angitte ressursen i lagring.
*
* @param \ Illuminate \ Http \ Be om $ forespørsel
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsoppdatering (Be om $ forespørsel, $ id)
//
/ **
* Fjern den angitte ressursen fra lagring.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjon ødelegge ($ id)
//
Ressursruter:
Legg til følgende rute for UserController å lage ressursruter i nettet.php fil.
Rute :: ressurs ('brukere', 'UserController');Kjør nå følgende kommando fra terminalen for å sjekke den nåværende rutelisten fra nett.php fil.
$ php håndverkerute: listeFølgende ruteinformasjon genereres for bruk av metoden Rute :: ressurs (). syv ruter er opprettet for å ringe syv metoder. Bruken av disse rutene blir forklart senere i neste del av denne veiledningen.
Legg til følgende linjer i begynnelsen av UserController.php fil for å importere brukermodellen, Hash-tjenesten for hashing av passordet og DB-tjenesten for databasedrift.
bruk App \ User;bruk Hash;
bruk DB
Sett inn post:
Endre skape() Metode av UserController med følgende kode. Her, et objekt av Bruker modellen er opprettet for å sette inn de nye postene. Etter å ha tildelt de obligatoriske verdiene, vil lagre() funksjonen kalles for å sette inn den nye posten i studenter bord.
offentlig funksjon lage ()$ bruker = ny bruker;
$ bruker-> navn = 'fahmida';
$ user-> email = '[email protected]';
$ bruker-> passord = Hash :: make ('12345');
prøve
$ bruker-> lagre ();
ekko "Record er satt inn";
fange (\ Illuminate \ Database \ QueryException $ e)
ekko "Duplicate entry";
Ruten for å ringe skape() Metode av UserController er 'brukere / opprett'. Kjør følgende URL fra nettleseren. Hvis posten er satt inn riktig, vises følgende utgang.
http: // localhost / laravelpro / public / users / create
Nå, hvis du sjekker tabellen fra databasen, vil du få følgende utdata.
Vis alle poster:
Endre indeks () Metode av UserController med følgende kode for å hente alle poster fra brukere tabellen og vise verdiene til Navn og e-post.
offentlig funksjonsindeks ()$ brukere = DB :: velg ('velg * fra brukere');
foreach ($ brukere som $ bruker)
ekko "Navn: $ bruker-> navn";
ekko "
E-post: $ bruker-> e-post ";
Ruten for å ringe indeks () Metode av UserController er 'brukere'. Kjør følgende URL fra nettleseren.
http: // localhost / laravelpro / public / brukere
Følgende utdata vises.
Velg spesifikk post:
Endre vise fram() Metode av UserController med følgende kode for å hente en post fra brukere tabell som inneholder 1 i id felt og vise verdien på Navn.
offentlig funksjonsvisning ($ id)$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "Navnet på brukeren er". $ bruker [0] -> navn."
";
Ruten for å ringe vise fram() Metode av UserController er 'brukere / id'. Kjør følgende URL fra nettleseren.
http: // localhost / laravelpro / public / brukere / 1
Følgende utdata vises.
Oppdater post:
To metoder er hovedsakelig definert i ressurskontrolleren for å oppdatere en databasepost. Disse er redigere() og Oppdater() der dataene til posten oppdateres ved hjelp av et hvilket som helst redigert skjema. Men det brukes ikke noe redigeringsskjema her. Så bare den redigere() metoden brukes til å oppdatere en bestemt registrering av studenter bord. Gjeldende verdi for en bestemt post skrives ut før og etter at oppdateringsspørringen er utført.
offentlig funksjonsredigering ($ id)$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "Den nåværende e-postadressen til brukeren er". $ bruker [0] -> e-post."
";
$ email = '[email protected]';
$ user = DB :: select ("Oppdater brukere angi e-post = '$ email'where id =".$ id);
$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "E-postadressen til brukeren etter oppdatering er". $ bruker [0] -> e-post;
Ruten for å ringe redigere() Metode av UserController er 'brukere / id / rediger'. Kjør følgende URL fra nettleseren.
http: // localhost / laravelpro / public / users / 1 / rediger
Følgende utdata vises.
Slett post:
destroy () -metoden er definert for å slette alle poster fra tabellen. Men ruten for å slette posten går fra en annen metode. Her har jeg brukt vise fram() metode for å opprette en hyperkobling for å slette posten som er lagt til på slutten av metoden.
offentlig funksjonsvisning ($ id)$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "Navnet på brukeren er". $ bruker [0] -> navn."
";
ekko "Slett";
Legg til følgende kode i ødelegge() metode for å slette en bestemt post.
offentlig funksjon ødelegge ($ id)$ bruker = DB :: velg ('Slett fra brukere der id ='.$ id);
ekko "Posten er slettet";
Legg til ruten i nett.php fil for å ringe ødelegge() metode.
Rute :: get ('/ brukere / slett / id', '[e-postbeskyttet]');Etter å ha klikket på slettelinken vises følgende utdata.
Konklusjon:
Bruken av ressurskontrolleren og konseptet med ruteressursen er forklart i detalj i denne opplæringen ved hjelp av en CRUD-operasjon. Jeg håper det vil hjelpe de nye Laravel-brukerne til å implementere CRUD-operasjon enkelt i prosjektet.