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’);