我有2张桌子。公司有一个或多个账户。
我想列出所有公司,同时列出公司的所有帐户。但有时公司还没有帐户。
基本上我需要。
Company Name | Account Name | Mobile
Company 1 | John | 91234567
Company 1 | Peter | 91234567
Company 2 | Nil | Nil
我知道我需要的是一个外连接,但显然mysql不支持,然后我发现我可以使用union,但我不知道如何在rails中这样做。我目前的代码是
Company.joins(:accounts)
请指教。提前谢谢。
答案 0 :(得分:0)
Company.joins("LEFT JOIN accounts ON accounts.id = companies.account_id")
或者
Company.find(:all,
joins: "LEFT JOIN accounts ON accounts.id = companies.account_id",
select: "companies.name, accounts.id, accounts.mobile ")
答案 1 :(得分:0)
您可以使用包含和引用来完成此任务:
Company.includes(:accounts).references(:accounts)