Как я могу попасть на третий стол с ассоциацией? - PullRequest
0 голосов
/ 24 марта 2019

У процесса есть Request, затем после утверждения создается Order.Наконец, клиент получает PaymentRequest за сделанные им заказы.

В Request есть project_id, поэтому в request model:

belongs_to :project

Order model подключен к Request:

belongs_to :request

И каждому PaymentRequest:

has_many :orders

Что мне делать в модели PaymentRequest и других моделях такЯ мог бы получить project от Request?

Так что я хотел бы сделать что-то вроде:

PaymentRequest.where("requests.project_id = ?").joins(???)

1 Ответ

1 голос
/ 24 марта 2019
PaymentRequest.joins(orders: :request).where("requests.project_id = ?", some_id)

или как предложено Фредериком:

PaymentRequest.joins(orders: :request).where(requests: { project_id: some_id })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...