Lucrul cu baza de date în Laravel
Lucrul cu baza de date în Laravel
Laravel folosește Eloquent ORM, care permite interacțiunea cu baza de date într-un mod simplu, folosind modele.
Configurarea bazei de date:
În fișierul
.env
, poți configura detaliile conexiunii la baza de date:Asigură-te că serverul bazei de date este pornit și că datele sunt corecte.
Migrații în Laravel:
Migrațiile sunt un mod de a defini structura bazei de date folosind PHP.
Crearea unei migrații:
Acesta va crea un fișier de migrare în directorul
database/migrations
.Modificarea migrației: Migrațiile conțin două metode principale:
up
(pentru crearea/modificarea tabelelor) șidown
(pentru a anula modificările).Exemplu de creare a unei tabele
users
:Rularea migrațiilor: După ce ai definit migrațiile, le poți aplica bazei de date folosind:
Eloquent ORM – Modele:
Modelele în Laravel reprezintă tabelele din baza de date. Fiecare model este conectat automat la o tabelă cu același nume (la plural).
Crearea unui model:
Acesta va crea un model
User
în directorulapp/Models/
.Utilizarea modelului pentru interogări: Exemplu de utilizare a modelului
User
pentru a adăuga un utilizator în baza de date:Interogări cu Eloquent:
Obținerea tuturor utilizatorilor:
Găsirea unui utilizator după ID:
Filtrarea utilizatorilor:
Blade Templating Engine:
Blade este motorul de template-uri oferit de Laravel pentru crearea de interfețe dinamice.
Crearea unei vizualizări: În directorul
resources/views/
, creează un fișier.blade.php
, de exemplu,welcome.blade.php
:Utilizarea variabilelor Blade: Într-o vizualizare Blade, poți afișa date din controller folosind sintaxa
{{ }}
. De exemplu:Extinderea layout-urilor: Blade permite utilizarea de layout-uri comune pentru diferite pagini. Exemplu de layout:
Apoi, în vizualizarea specifică:
Controlere și rute:
Crearea unui controller:
Definirea rutelor în
routes/web.php
:Metoda din controller: În
PostController.php
:Vizualizarea pentru afișarea datelor: Creează un fișier
resources/views/posts/index.blade.php
:
Comentarii
Trimiteți un comentariu