gpt4 book ai didi

带有 Rails ActiveRecord 的 SQL UNION

转载 作者:行者123 更新时间:2023-12-04 21:25:05 25 4
gpt4 key购买 nike

我的应用程序中有两个模型,注释和亮点。它们的定义如下:

class Note < ActiveRecord::Base
belongs_to :user
end

class Highlight < ActiveRecord::Base
has_and_belongs_to_many :users
end

现在,我希望可以在同一个流中访问,按创建日期排序。我无法理解如何在 ActiveRecord 中执行此操作,因此我将以下查询放在一起:
SELECT book_id, page, content, created_at FROM `highlights` 
INNER JOIN `highlights_users` ON `highlights`.id = `highlights_users`.highlight_id
WHERE (`highlights_users`.user_id = 1 )
UNION SELECT book_id, page, content, created_at FROM notes
ORDER BY created_at DESC

添加当然,它有效,但感觉不是很Rails-y。另外,我不知道如何分辨哪些项目是笔记,哪些是亮点。另一种选择是分别获取笔记流和高亮流,然后合并数组。这似乎也很笨拙,我觉得必须在某处对我正在尝试做的事情进行抽象。

我在这里缺少一些关键的 ActiveRecord 功能吗?解决此问题的最有效方法是什么?

最佳答案

关于带有 Rails ActiveRecord 的 SQL UNION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com