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();