2015-06-24 23 views
13

xin lỗi bit của một newbie ở đây nhưng tôi có ba người dùng bảng, hồ sơ, bạn bè. tất cả chúng đều có các trường user_id bên trong chúng và tôi muốn lấy tất cả các trường trong một câu lệnh bằng cách sử dụng Eloquent và không phải DB::statement và làm việc tham gia bảng.Truy vấn nhiều bảng bằng cách sử dụng eloquent

Tôi làm cách nào để đạt được điều này?

Trả lời

15

Hãy thử điều này

sử dụng lớp Userwith phương pháp mà laravel có để truy vấn các mối quan hệ mô hình

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

Đảm bảo mô hình của bạn có mối quan hệ chính xác như sau:

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

Thats là rất tốt nó hoạt động! –

Các vấn đề liên quan