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:

  1. În fișierul .env, poți configura detaliile conexiunii la baza de date:

    DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nume_baza_date DB_USERNAME=nume_utilizator DB_PASSWORD=parola
  2. 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.

  1. Crearea unei migrații:


    php artisan make:migration create_users_table

    Acesta va crea un fișier de migrare în directorul database/migrations.

  2. Modificarea migrației: Migrațiile conțin două metode principale: up (pentru crearea/modificarea tabelelor) și down (pentru a anula modificările).

    Exemplu de creare a unei tabele users:


    public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); }
  3. Rularea migrațiilor: După ce ai definit migrațiile, le poți aplica bazei de date folosind:


    php artisan migrate

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).

  1. Crearea unui model:


    php artisan make:model User

    Acesta va crea un model User în directorul app/Models/.

  2. Utilizarea modelului pentru interogări: Exemplu de utilizare a modelului User pentru a adăuga un utilizator în baza de date:


    use App\Models\User; // Crearea unui utilizator $user = new User; $user->name = 'John Doe'; $user->email = 'john@example.com'; $user->password = bcrypt('password'); $user->save();
  3. Interogări cu Eloquent:

    • Obținerea tuturor utilizatorilor:


      $users = User::all();
    • Găsirea unui utilizator după ID:


      $user = User::find(1);
    • Filtrarea utilizatorilor:


      $users = User::where('email', 'john@example.com')->get();

Blade Templating Engine:

Blade este motorul de template-uri oferit de Laravel pentru crearea de interfețe dinamice.

  1. Crearea unei vizualizări: În directorul resources/views/, creează un fișier .blade.php, de exemplu, welcome.blade.php:


    <!DOCTYPE html> <html> <head> <title>Laravel</title> </head> <body> <h1>Bun venit în Laravel!</h1> </body> </html>
  2. Utilizarea variabilelor Blade: Într-o vizualizare Blade, poți afișa date din controller folosind sintaxa {{ }}. De exemplu:


    <h1>Bun venit, {{ $nume }}!</h1>
  3. Extinderea layout-urilor: Blade permite utilizarea de layout-uri comune pentru diferite pagini. Exemplu de layout:


    <!-- resources/views/layouts/app.blade.php --> <html> <head> <title>Aplicația mea</title> </head> <body> <div class="container"> @yield('content') </div> </body> </html>

    Apoi, în vizualizarea specifică:


    @extends('layouts.app') @section('content') <h1>Pagină de start</h1> @endsection

Controlere și rute:

  1. Crearea unui controller:


    php artisan make:controller PostController
  2. Definirea rutelor în routes/web.php:


    use App\Http\Controllers\PostController; Route::get('/posts', [PostController::class, 'index']);
  3. Metoda din controller: În PostController.php:


    public function index() { $posts = [ 'Articol 1', 'Articol 2', 'Articol 3' ]; return view('posts.index', compact('posts')); }
  4. Vizualizarea pentru afișarea datelor: Creează un fișier resources/views/posts/index.blade.php:


    <h1>Postări</h1> <ul> @foreach ($posts as $post) <li>{{ $post }}</li> @endforeach </ul>

Comentarii

Postări populare de pe acest blog

IA si securitatea cibernetică

Cod Python pt aplicatie despre Securitate cibernetica