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
{
}