Подтвердить что ты не робот

Laravel запрашивает несколько таблиц, используя красноречивый

Привет, извините, новичок, но у меня есть три пользователя, профили, друзья. все они имеют поля user_id внутри них, и я хочу получить все поля в одном выражении с помощью Eloquent, а не DB::statement и выполнять объединение таблиц.

Как я могу это достичь?

4b9b3361

Ответ 1

Попробуйте это

используйте класс User и with, который laravel должен запрашивать отношения модели

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

Убедитесь, что ваши модели имеют правильные отношения следующим образом:

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