Rails has_one :through association

后端 未结 3 1220
终归单人心
终归单人心 2020-12-07 20:18

Rails has a has_one :through association that helps set up a one-to-one association with a third model by going through a second model. What is the real use of

3条回答
  •  -上瘾入骨i
    2020-12-07 20:29

    1. Logic, OK it might sound a bit weak for this but it would be logical to say that "I have a supplier who has an account with me, I want to see the entire account history of this supplier", so it makes sense for me to be able to access account history from supplier directly.

    2. Efficiency, this for me is the main reason I would use :through, simply because this issues a join statement rather than calling supplier, and then account, and then account_history. noticed the number of database calls?

      • using :through, 1 call to get the supplier, 1 call to get account_history (rails automatically uses :join to retrieve through account)

      • using normal association, 1 call to get supplier, 1 call to get account, and 1 call to get account_history

    That's what I think =) hope it helps!

提交回复
热议问题