在 Rails 应用程序中,我有三个模型(Posting、Shop::Items 和 Directory::Items)。每个模型都与其他模型(用户、类别、城市......)有关系。我必须在主页上显示所有这些信息。它应该看起来像分页的项目列表。我正在为数据库使用 postgres。
我们可以在控制器中编写这样的代码:
@postings = Posting.includes(:category, :subcategory, :user, :city).all
@directory_items = Directory::Item.includes(:category, :user, :city).all
@shop_items = Shop::Item.includes(:category, :user, :city, :phone).all
并对结果进行排序。但这不是最好的方法。
第二种解决方案是编写自定义查询省略 ActiveRecord。但是这个查询非常大,而且很难支持它(我们在那里有很多连接)
用最少的数据库查询来解决这个问题的最佳解决方案是什么?(这是主页,所以它应该工作得非常快)。