2015-06-24 12 views
13

hi przepraszam trochę newbie tutaj, ale mam trzech użytkowników tabel, profili, przyjaciół. wszystkie mają w sobie pola user_id i chcę pobrać wszystkie pola w jednej instrukcji przy użyciu Eloquent, a nie DB::statement i robić łączenia tabel.Laravel kwerendy wielu tabel przy użyciu eloquent

Jak mogę to osiągnąć?

Odpowiedz

15

Spróbuj

użyć klasy User oraz metodę with że laravel musi kwerendy modelowe relacje

$user = User::with(['profile', 'friend'])->get(); 

Zapewnienie modeli ma poprawne relacje następująco:

app/models/User.php 

public function friend() { 
    return $this->hasMany('friend'); 
} 

public function profile() { 
    return $this->hasOne('profile'); 
} 

app/models/Profile.php 

    public function user() { 
     return $this->belongsTo('User'); 

    } 

app/models/Friend.php 

public function user() { 
    return $this->belongsTo('user'); 
} 
+0

ów jest tak dobrze, że działa! –