ORM — Active Record
Model Active Record (\Blumiga\orm\Model) com suporte a relacionamentos e Soft Deletes.
Definição
use Blumiga\orm\Model;
class User extends Model
{
protected string $table = 'users';
} Operações
// Buscar $user = User::find(1); $users = User::all(); // Criar $user = User::create(['name' => 'João', 'email' => 'joao@email.com']); // Atualizar $user = User::find(1); $user->name = 'João Atualizado'; $user->save(); // Remover $user = User::find(1); $user->delete(); // Deleta User::destroy(1); // Deleta pelo ID
Relacionamentos
class User extends Model
{
public function posts(): HasMany
{
return $this->hasMany(Post::class, 'user_id');
}
public function profile(): HasOne
{
return $this->hasOne(Profile::class, 'user_id');
}
}
class Post extends Model
{
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_id');
}
}
// Uso
$user = User::find(1);
$posts = $user->posts;
$post = Post::find(1);
$author = $post->user; Soft Deletes
use Blumiga\orm\SoftDeletes;
class User extends Model
{
use SoftDeletes;
protected string $table = 'users';
}
// find() ignora deletados por padrão
// use withTrashed() para incluí-los