Salt la conținut

Modelul minimal

Un model Leto este o clasă PHP simplă care extinde Leto\Database\ORM\Model.

<?php

use Leto\Database\ORM\Attributes\Table;
use Leto\Database\ORM\Attributes\PrimaryKey;
use Leto\Database\ORM\Attributes\AutoIncrement;
use Leto\Database\ORM\Attributes\DataStorage\Varchar;
use Leto\Database\ORM\Attributes\DataStorage\Integer;
use Leto\Database\ORM\Attributes\DataStorage\DateTime;
use Leto\Database\ORM\Model;

#[Table('users')]
class User extends Model
{
    #[PrimaryKey]
    #[AutoIncrement]
    public int $id;

    #[Varchar(100)]
    public string $name;

    #[Varchar(255)]
    public string $email;

    #[Integer]
    public int $role_id;

    #[DateTime]
    public \DateTimeImmutable $created_at;
}

Utilizare de bază

// Creare
$user = new User();
$user->name = 'Ion Popescu';
$user->email = 'ion@example.com';
$user->role_id = 1;
$user->create();    // salvează în baza de date

// Găsire după ID
$user = User::find(1);

// Interogare
$users = User::all()
    ->where('role_id', 1)
    ->orderBy('name')
    ->get();

// Actualizare
$user->name = 'Ion Ionescu';
$user->update();

// Ștergere
$user->delete();