Sumar
- Ce este Eloquent ORM?
- Crearea modelelor
- Migrații și structura bazei de date
- Relațiile între modele
- Query-uri Eloquent
- Bune practici
- Concluzie
Ce este Eloquent ORM?
Eloquent ORM este Object-Relational Mapper-ul nativ al Laravel, care permite interacțiunea cu baza de date prin modele PHP, fără a scrie SQL direct.
Crearea modelelor
php artisan make:model Post -m
Aceasta va crea modelul Post și o migrație corespunzătoare.
Post.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $fillable = ['title', 'content'];
}
Migrații și structura bazei de date
Migrație exemplu:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Rulează migrațiile:
php artisan migrate
Relațiile între modele
- One-to-Many:
class User extends Model {
public function posts() {
return $this->hasMany(Post::class);
}
}
- Many-to-Many:
class Role extends Model {
public function users() {
return $this->belongsToMany(User::class);
}
}
Query-uri Eloquent
// Toate postările
$posts = Post::all();
// Postare după id
$post = Post::find(1);
// Creare postare
Post::create(['title' => 'Titlu', 'content' => 'Conținut']);
// Update
$post->update(['title' => 'Titlu nou']);
// Delete
$post->delete();
Bune practici
- Folosește
$fillablesau$guardedpentru protecție. - Utilizează relații pentru a evita query-uri repetitive.
- Profită de scope-uri pentru filtrări reutilizabile.
Concluzie
Eloquent ORM face gestionarea bazelor de date în Laravel mai intuitivă și mai rapidă, permițând dezvoltatorilor să scrie cod curat și structurat.