Laravel Eloquent Relationship для нескольких таблиц - PullRequest
0 голосов
/ 30 января 2019

В моей базе данных есть 3 таблицы: Users, Biodata, Roles.

Users и Roles относятся к сводной таблице role_user.Users с ролью student & employer.

Я хочу, чтобы все пользователи с ролью student также имели biodata.Я пытался много раз, но не смог найти решение.Надеюсь, вы, ребята, помогите мне

$users = User::with('roles')->with('biodata')->get();

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Используйте whereHas, которое используется для запроса куда в реальности.

$users = User::whereHas('roles', function ($query) {
    $query->where('name', '=', 'student');
})->with('biodata')->get();
0 голосов
/ 30 января 2019

Вы ищете это: $user = User::with('roles', 'biodata')->get();

0 голосов
/ 30 января 2019

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

$users = User::with('biodata')->whereHas('roles', function($query) {
    $query->where('name', 'student');
})->get();
...