Вы можете сделать что-то вроде этого:
$userId = $request->user_id;
$vacancies = Vacancie::whereHas('companies', function ($q) use ($userId){
$q->whereHas('users', function($q1) use ($userId) {
$q1->where('users.id', userId);
});
})->get();
В этом коде я рассматриваю, что у вас есть отношения companies()
в Vacancie
и users()
в Company
.
Это сделает обратное тому, что вы делаете сейчас.Когда вы вызываете get()
в пользовательской модели, вы получите всех пользователей с отношениями, предварительно загруженными (with()
).