Salt la conținut

Atribute pe clasă

#[Table]

Leagă modelul de o tabelă din baza de date.

#[Table('users')]
class User extends Model
{
}

#[ConnectionName]

Specifică o conexiune la baza de date diferită de cea implicită (default).

#[Table('orders')]
#[ConnectionName('warehouse')]
class Order extends Model
{
}

Conexiunea warehouse trebuie definită în config/database.php:

return [
    'default' => [
        'driver' => 'mysql',
        'host' => 'localhost',
        'database' => 'app',
        // ...
    ],
    'warehouse' => [
        'driver' => 'mysql',
        'host' => '10.0.0.5',
        'database' => 'warehouse',
        // ...
    ],
];

#[PrimaryKey]

Marchează cheia primară a tabelei.

#[PrimaryKey]
public int $id;

#[AutoIncrement]

Indică faptul că cheia primară este auto-incrementată (nu se trimite la INSERT).

#[PrimaryKey]
#[AutoIncrement]
public int $id;

#[DefaultOrder]

Definește ordonarea implicită pentru toate interogările pe acest model. Suportă atribute multiple și necesită enum-ul Order:

use Leto\Database\ORM\Enums\Order;

#[Table('products')]
#[DefaultOrder('name', Order::ASC)]
#[DefaultOrder('created_at', Order::DESC)]
class Product extends Model
{
}