Laravel query multiple tables using eloquent

Try this

use the User class and the with method that laravel has to query model relationships

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

Ensure your models has the correct relationships as follows:

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');
}