Codeigniter Active Record: Umetanje, odabir, ažuriranje, brisanje

Podaci su krvna linija većine aplikacija. Podatke je potrebno pohraniti na takav način da se mogu dalje analizirati radi pružanja uvida i olakšavanja poslovnih odluka. Podaci se obično pohranjuju u bazu podataka. Jedna od glavnih briga pri interakciji s bazom podataka je sigurnost, jednostavnost pristupa i implementacije specifičnih dobavljača baze podataka Structured Query Language (SQL).

Aktivni zapis uzorak je dizajna koji olakšava interakciju s bazom podataka na jednostavan, siguran i rječit način.

Aktivni zapis ima sljedeće prednosti

  • Umetanje, ažuriranje i brisanje zapisa pomoću lanaca jednostavnih metoda aktivnog zapisa
  • Dostavlja korisnički unos na siguran način pomoću parametara
  • Omogućuje vam rad s više strojeva baza podataka kao što su MySQL, SQL Server itd. Bez prepisivanja koda aplikacije
  • CodeIgniter koristi upravljačke programe specifične za svaki mehanizam baze podataka u pozadini.

U ovom vodiču naučit ćete:

Kako koristiti Active Record: Primjer

U ovom vodiču ćemo raspravljati o bazi vodiča. Imat ćemo dva stola, jedan s narudžbama, drugi s pojedinostima.

Ovaj vodič pretpostavlja da ste instalirali i pokrenuli MySQL bazu podataka.

Pokrenite sljedeće skripte za stvaranje baze vodiča: | _+_ |

Gornji kôd stvara bazu podataka pod imenom ci_active_record i stvara dvije tablice, naime narudžbe i detalje o narudžbi. Odnos između dvije tablice definiran je ID -om stupca u narudžbama i order_id u tablici order_details.

Konfiguracija baze podataka CodeIgniter

Sada ćemo našu aplikaciju konfigurirati tako da može komunicirati s ovom bazom podataka.

Otvorite konfiguracijsku datoteku baze podataka koja se nalazi u application/config/database.php

locirajte sljedeće retke u konfiguracijskoj datoteci | _+_ |

Ažurirajte gornji kôd na sljedeći | _+_ |

Bilješka: morat ćete zamijeniti korisničko ime i lozinku onima koji odgovaraju vašoj konfiguraciji MySQL -a.

Osim detalja o konfiguraciji baze podataka, također moramo reći CodeIgniteru da učita biblioteku baze podataka kada se učita

Korak 1) Otvorite sljedeću datotečnu aplikaciju/config/autoload.php

Korak 2) Pronađite knjižnice ključeva polja $ autoload i učitajte knjižnicu baze podataka kao što je prikazano u nastavku | _+_ |

OVDJE,

  • Gornji kod učitava biblioteku baze podataka pri pokretanju aplikacije

CodeIgniter Umetnite aktivni zapis

Za potrebe testiranja, izradit ćemo kontroler i definirati rute koje ćemo koristiti za interakciju s našom aplikacijom putem aktivnog zapisa.

Izradite novu datotečnu aplikaciju/kontrolere/ActiveRecordController.php

Dodajte sljedeći kôd u ActiveRecordController.php | _+_ |

OVDJE,

  • $ data = […] definira varijablu polja koja koristi nazive tablica baze podataka kao ključeve polja i dodjeljuje im vrijednosti
  • $ this-> db-> insert ('narudžbe', $ podaci); poziva metodu umetanja biblioteke baze podataka, unosi parametre naziva tablice i varijablu niza $ data kao parametar. Ovaj redak generira SQL INSERT izraz koristeći ključeve polja kao nazive polja i vrijednosti niza kao vrijednosti koje treba umetnuti u bazu podataka.

Sada kada smo uspješno stvorili metodu kontrolera za aktivno snimanje, sada ćemo morati stvoriti rutu koju ćemo pozvati za izvršavanje metode kontrolera.

Sada otvorite routes.php u application/config/routes.php

rutama dodajte sljedeći redak | _+_ |

OVDJE,

  • Definiramo rutu ar/insert koja poziva store_order ActiveRecordControllera.

Pokrenimo sada web poslužitelj kako bismo testirali našu metodu.

Pokrenite sljedeću naredbu za pokretanje ugrađenog poslužitelja za PHP | _+_ |

OVDJE,

  • Gornji naredbeni preglednik do naredbenog retka i pokrenite ugrađeni poslužitelj na priključku 3000.

Učitajte sljedeći URL u svoj preglednik

http: // localhost: 3000/ar/insert

Dobit ćete sljedeće rezultate | _+_ |

Otvorite bazu vodiča MySQL i provjerite tablicu narudžbi

Moći ćete novonastali red kao što je prikazano na donjoj slici

CodeIgniter Odaberite Active Record

U ovom odjeljku ćemo vidjeti kako čitati zapise koje imamo u bazi podataka i prikazati ih u web pregledniku kao neuređen popis

Dodajte sljedeću metodu u ActiveRecordController | _+_ |

OVDJE,

  • $ query = $ this-> db-> get ('narudžbe'); pokreće upit odabira prema tablici narudžbi birajući sva polja
  • izbaciti '

    Popis narudžbi

    '; prikazuje HTML naslov veličine 3
  • izbaciti '
      '; ispisuje početnu oznaku za neuređeni HTML popis
    • foreach ($ query-> result () kao $ row) {…} je koristio for petlju za petlju kroz rezultate vraćene iz baze podataka. jeka '
    • $ row-> customer_name
    • '; ispisuje customer_name iz baze podataka

    Prije nego učitate sljedeći URL, možete učitati još nekoliko zapisa u bazu podataka.

    Omogućimo sada definiranje rute za upit SELECT

    Otvorite tablicu application/config/routes.php

    Dodajte sljedeću rutu | _+_ |

    OVDJE,

    • Ruta ar upućuje na metodu indeksa klase ActiveRecordController. To je zadano, zato nismo odredili metodu indeksa kao što ste učinili za rutu koja ubacuje zapise

    Pod pretpostavkom da je web poslužitelj već pokrenut, učitajte sljedeći URL

    http: // localhost: 3000/ar

    Trebali biste moći vidjeti rezultate koji su vrlo slični sljedećim u vašem web pregledniku

    CodeIgniter Update Active Record

    U ovom ćemo odjeljku govoriti o tome kako koristiti aktivni zapis za ažuriranje baze podataka. Recimo da želimo ažurirati ime korisnika Joe Thomas u Joe.

    Dodajte sljedeću metodu klasi ActiveRecordController | _+_ |

    OVDJE,

    • $ data = […] definira polja i vrijednosti koje želimo ažurirati u tablici baze podataka
    • $ this-> db-> gdje ('id', 1); postavlja klauzulu where upita za ažuriranje
    • $ this-> db-> update ('narudžbe', $ podaci); generira upit za ažuriranje SQL -a i izvršava ga prema našoj bazi podataka.

    Gornji kôd će proizvesti sljedeći SQL izraz | _+_ |

    Ajmo sada ažurirati applications.php application/config/routes.php

    Dodajte sljedeću rutu | _+_ |

    Spremite promjene

    Učitajte sljedeći URL u web preglednik

    Prikažimo sada zapise baze podataka i vidimo je li to utjecalo na promjene.

    Kao što možete vidjeti iz gore date slike, prvi zapis je ažuriran s Joea Thomasa na Joea.

    CodeIgniter Izbriši aktivni zapis

    Sada ćemo izbrisati zapis iz baze podataka. Izbrisat ćemo zapis s ID -om 3.

    Dodajte sljedeću metodu u ActiveRecordController | _+_ |

    OVDJE,

    • $ this-> db-> gdje ('id', 1); postavlja klauzulu where
    • $ this-> db-> delete ('narudžbe'); briše red baze podataka u tablici narudžbi na temelju kriterija postavljenih pomoću klauzule where.

    Da biste izvršili gornji kôd, učitajte sljedeći URL u naš web preglednik

    http: // localhost: 3000/ar/delete

    Sažetak

    U ovom ste vodiču naučili kako raditi s aktivnim zapisom za umetanje, ažuriranje, brisanje i odabir zapisa iz baze podataka. Radili smo sa statičkim vrijednostima na stvaranju zapisa, ažuriranju i brisanju. U sljedećem vodiču stvorit ćemo korisničko sučelje koje korisnik može koristiti za dinamičko stvaranje zapisa u bazi podataka.