Sobes.tech
Junior

Na co je Eloquent v Laravelu?

sobes.tech AI

Odpověď od AI

Eloquent je ORM (Object-Relational Mapper) pro Laravel. Poskytuje pohodlný, objektově orientovaný způsob práce s databází, umožňující pracovat s tabulkami jako s modely a s řádky jako s objekty.

Hlavní úkoly Eloquentu:

  • Zjednodušení dotazů: Umožňuje provádět dotazy na databázi pomocí metod modelů, místo psaní SQL kódu přímo.
  • Vztahy mezi modely: Usnadňuje definování a získávání souvisejících dat mezi tabulkami (jeden-na-jedno, jeden-na-mnoho, mnoho-na-mnoho).
  • Active Record vzor: Podporuje vzor Active Record, kdy modelový objekt představuje řádek v tabulce a metody modelu odrážejí operace s tímto řádkem.
  • Manipulace s daty: Nabízí pohodlné rozhraní pro vkládání, aktualizaci, mazání a vybírání dat.
  • Události modelů: Umožňuje vázat logiku na životní cyklus modelů (například před uložením nebo po smazání).

Příklad získání uživatelů:

// app/Models/User.php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    // ...
}
// Kontroler nebo jiná třída
use App\Models\User;

// Získat všechny uživatele
$users = User::all();

// Získat uživatele podle ID
$user = User::find(1);

// Získat uživatele s určitým podmínkou
$activeUsers = User::where('status', 'active')->get();