@kirill-93

Laravel получить связанную модель по условию?

Подскажите пожалуйста, как в такой структуре задать условие. Есть три модели:
Specialty User Country
Специальность, пользователь, страна. Специальность привязана к пользователю, пользователь к стране.
Как мне теперь выбрать всех пользователей страны, у которых определенная специальность?
Сейчас вот так связь описана:
//Country
public function users()
    {
        return $this->hasMany('App\Models\User');
    }

//User
public function specialties()
{
    return $this->hasMany('App\Models\Specialty');
}

Как мне изменить метод users(), чтоб он возвращал пользователей определенной профессии?
  • Вопрос задан
  • 440 просмотров
Решения вопроса 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
$country = Country::find(1);
$users = $country->users()->whereHas('specialties', function($query){
     $query->where('speciality', 'doctor');
})->get();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы