Relazioni hasMany e belongsToMany in pratica — articolo

> Relazioni hasMany e belongsToMany in pratica

Pillar article sul trait Relation e le quattro tipologie di relazione supportate dall ORM.

Luigi Iadicola
~1 min lettura
#ORM #Database #Relazioni
Relazioni hasMany e belongsToMany in pratica
Relazioni hasMany e belongsToMany in pratica

Relazioni senza magia

Il trait Relation aggiunge ai modelli quattro metodi per definire relazioni: hasOne(), hasMany(), belongsTo() e belongsToMany(). Le relazioni many-to-many passano attraverso una pivot table, come nel caso di progetti e tecnologie.

Le relazioni restituiscono modelli idratati, non array grezzi. Questo significa che il risultato di $project->technologies() e un array di istanze Technology con tutti i metodi del modello disponibili.

Esempi reali dal progetto

  • Project::belongsTo(Partner::class) — ogni progetto appartiene a un partner
  • Partner::hasMany(Project::class) — un partner ha molti progetti
  • Project::belongsToMany(Technology::class, ...) — relazione N:N via pivot
  • Article e Tag — stessa logica many-to-many tramite article_tag

Il sistema e esplicito: le foreign key e la pivot table vanno dichiarate. Nessuna convenzione nascosta che funziona solo se i nomi delle tabelle seguono un pattern specifico.

altri articoli