получить фильтр родительского объекта по вложенным дочерним полям - PullRequest
0 голосов
/ 03 апреля 2019

Внутри учителя есть детский предмет, а у предмета есть ученик. Я хочу, чтобы все учителя были отфильтрованы по student_name. Объект учителя может быть примерно таким:

{ "id": 5,
  "name": "teacher-one",
  "gender": "male",
  "subject": {
    "id": 10,
    "subject_name": "Maths",
    "student": {
      "id": 1,
      "student_name": "student-one", 
       "grade" : "one",
    }
  }
}

Я хочу отфильтровать это, используя метод поиска, что-то вроде Teacher.find(:all, params: {gender: "male'}), который возвращает всех учителей-мужчин. Но следующий код не работает:

Teacher.find(:all, params: { subject: { student: grade == "one" }})

1 Ответ

0 голосов
/ 03 апреля 2019

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

Teacher.joins(subject: :student).where(student: {student_name: "Bala"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...