我有一个客户表和一个订单表。每个客户都有多个订单,当我执行Customers.all
时,我得到所有客户,但不是他们的订单。有没有办法获得Customer.all.associations
?
获得:
[
{
: id=>1,
: name=>"abc"
},
{
: id=>2,
: name=>"xyz"
}
想要获得:
[
{
: id=>1,
: name=>"abc",
: orders=>[
{
: id=>1,
: name=>"order1"
},
{
: id=>2,
: name=>"order2"
}
]
},
{
: id=>2,
: name=>"xyz",
: orders=>[
{
: id=>3,
: name=>"order3"
},
{
: id=>4,
: name=>"order4"
}
]
}
答案 0 :(得分:3)
如果您想获得所有客户的订单,那么
Customer.includes(:orders)
如果您需要将其转换为JSON或Hash格式,那么
Customer.includes(:orders).as_json(include: :orders)
答案 1 :(得分:0)
@customers = Customer.includes(:orders)
@customers.as_json(include: :orders)