Laravel 9 UpdateOrCreate -metoden med et eksempel

Laravel 9 UpdateOrCreate -metoden med et eksempel
“Når en hvilken som helst utvikler oppretter en applikasjon, trenger han/hun å strømme en større side av applikasjonen. En av dem er overlappende data. For å stoppe overlapping av data, må utviklere flyte noen teknikker. For eksempel må raskt sjekke om data har eksistert i datatabellen eller ikke. Hvis det eksisterer, kan du få dataene og oppdatere dem; ellers vil det lage nye data i tabellen. Laravel har en flott fremtid å gjøre denne jobben. Denne metoden kalles UpdateRcreate -metoden. Det vil gjøre denne jobben enkelt.”I dag vil vi forklare hvordan du oppdatering av CREATE -metoden med et eksempel.

Prosjektkrav er gitt nedenfor

  • MySQL 8.0+
  • MariaDB 10.2+
  • PHP 8.1

Her er et eksempel på å definere denne oppdateringen

  • Prosess 1. Lag et UpdateOrCreate -prosjekt
  • Prosess 2. UpdateOrCreate Project Database Connection
  • Prosess 3. Lag en modell og kontroller i UpdateRCreate -prosjektet
  • Prosess 4. UpdateOrCreate Method Lag og bruk
  • Prosess 5. Kjør og test UpdateRcreate -prosjektet

Prosess 1. Lag et UpdateOrCreate -prosjekt

Nå må vi kjøre denne kommandoen for å opprette UpdateOrCreate -prosjektet

Komponist Create-Project Laravel/Laravel UpdateOrCreate

Prosess 2. Databasetilkobling

Åpne .Env -fil på UpdateRcreate -prosjektet og legg til et nytt databasenavn, brukernavn og passord

Kode-

Db_connection = mysql
Db_host = 127.0.0.1
DB_PORT = 3306
Db_database = databasenavn
DB_USERNAME = Database Brukernavn
Db_password = databasepassord

Databasen ser slik ut

Når databasen er koblet til neste, gå til neste trinn.

Prosess 3. Lag en modell og kontroller i UpdateRCreate -prosjektet

Nå vil vi lage en modell og kontroller for prosjektet vårt. For det må vi kjøre denne kommandoen

PHP Artisan Make: Model Newrec -MC

Etter å ha kjørt denne kommandoen, vil den lage to filer i prosjektet vårt. Den ene er en kontroller som ligger i “App \ http \ Controllers \ newreccontroller.PHP ”

En annen er “Database \ Migrations \ 2022_07_11_042129_create_new_recs_table.PHP ”

Trenger å legge disse to linjene til datamigrasjonsfilen

$ tabell-> streng ('navn')-> nullable ();
$ tabell-> streng ('pris')-> nullable ();

Etter å ha lagt til dette, ser det ut som

offentlig funksjon opp ()

Skjema :: create ('new_recs', funksjon (blåkopi $ tabell)
$ tabell-> id ();
$ tabell-> streng ('navn')-> nullable ();
$ tabell-> streng ('pris')-> nullable ();
$ tabell-> tidsstempler ();
);

Nå må du kjøre denne kommandoen for å migrere tabellen inn i databasen

PHP Artisan migrerer

Prosess 4. UpdateOrCreate Method Lag og bruk

Normalt bruker vi denne måten å finne og oppdatere data eller opprette data.

Ved å bruke den første () metoden, sjekker vi om dataene eksisterer eller ikke. Hvis det eksisterer, får vi det til å oppdatere ellers for å opprette de nye dataene.

Her ser koden ut som

klasse NewrecController utvider kontrolleren

offentlig funksjon checkAndadd ()
$ Dataname = "Domain";
$ pris = "11";
$ inputData ['name'] = $ dataname;
$ inputData ['pris'] = $ pris;
$ check = newRec :: hvor ('navn', $ dataname)-> først ();
if ($ check == null)
newRec :: create ($ inputData);
ellers
$ check-> fill ($ inputData)-> lagre ();


Dette er den gamle måten å sjekke og sette inn eller oppdatere data i databasen.

Nå får vi se hvordan du oppdateres med å se ut i koden med samme kode

klasse NewrecController utvider kontrolleren

offentlig funksjon checkAndUpDate ()
$ Dataname = "Domain";
$ pris = "11";
newRec :: updateOrCreate (
['name' => $ dataname],
['pris' => $ pris]
);

Koden ser kort og enkel ut.

La oss lage en rute for å sjekke denne metoden.

Rute :: get ('/createorupdate', [newReccontroller :: class, 'checkandupdate'])-> name ('checkandupdate');

Prosess 5. Kjør og test UpdateRcreate -prosjektet

For testing må prosjektet kjøre denne kommandoen

PHP Artisan server

Trenger å sjekke om koden fungerer eller ikke, til ruten for å sjekke

Ja, det fungerer som resultatet i databasen

Vi vil legge til pris 111 til vår funksjon

Offentlig funksjon CheckOpUpDate ()

$ Dataname = "Domain";
$ pris = "111";
newRec :: updateOrCreate (
['name' => $ dataname],
['pris' => $ pris]
);

Og kjør ruten igjen. Deretter sjekk data ble oppdatert eller ikke

Ja, det er oppdatert vellykket.

Trøst

Til slutt opprettet vi dette Laravel UpdateOrCreate -prosjektet med Laravel 9. Å lage en datatabell Laravel ved hjelp av UpdateRCreate er veldig nyttig. Håper dette UpdateOrCreate Project -eksemplet vil hjelpe deg å forstå UpdateRCreate i Laravel 9.