Effettuare una Query in Laravel… in sei modi diversi!

0
1187

Laravel ti permette di effettuare le query verso il database in tanti modi diversi.

Ho così preparato una lista, in modo tale da farti avere un riferimento più o meno completo di quelle che sono le possibilità.

Supponiamo, innanzitutto, di avere una tabella con i seguenti campi:

Users:

  • id;
  • name;

Posts:

  • id;
  • content;
  • user_id;

Nota: supponiamo anche di aver definito le relazioni nei model Eloquent.

Arriviamo quindi ai metodi. Ecco le varie possibilità:

/* Primo Metodo /
/
Semplicemente utilizzando Eloquent */
$user=User::find(1);
$posts=$user->posts;

/* Secondo Metodo /
/
Eloquent con Eager loading */
$posts=User::with(‘posts’)->find(1);

/* Terzo Metodo /
/
Eloquent con Lazy Eager loading */
$posts=User::find(1)->load(‘posts’);

/* Quarto Metodo /
/
Eloquent con Query Builder */
$posts=User::join(‘posts’,’users.id’,’=’,’posts.user_id’)->where(‘users.id’,1)->get();

/* Quinto Metodo /
/
Query Builder senza Eloquent */
$posts=DB::table(‘users’)->join(‘posts’,’users.id’,’=’,’posts.user_id’)->where(‘users.id’,1)->get();

/* Sesto Metodo /
/
SQL */
$posts=DB::select(‘select * from users join posts on users.id = posts.user_id where users.id = 1’);